मैं सोच रहा था कि क्या कोई मेरी मदद कर सकता है क्योंकि मैं टिंकर के लिए बिल्कुल नया हूं और यहां पहले कुछ अच्छी मदद मिली है।

मेरी क्वेरी यह है कि मैं एक बजट कैलकुलेटर प्रोग्राम बनाने की कोशिश कर रहा हूं और टिंकर का उपयोग कर रहा हूं। मैं सोच रहा हूं कि आप उपयोगकर्ता इनपुट कैसे प्राप्त करते हैं जहां उपयोगकर्ता "आय" या "व्यय" नामक बटन पर क्लिक कर सकता है और फिर वे अपने सभी नंबरों को इनपुट कर सकते हैं और इसे नीचे एक तालिका के रूप में मुद्रित किया जाएगा।

मेरा कोड किसी भी जानकारी के नीचे है, वास्तव में मेरी मदद करेगा और अब तक मेरे कोड के बारे में आप जो भी अन्य बिंदु बता सकते हैं, उनकी बहुत सराहना की जाएगी!

from time import sleep
from tkinter import * 
from tkinter import messagebox, ttk, Tk

root = Tk()

class GUI():

def taskbar(self):

    menu = Menu(root)
    file = Menu(menu)
    root.config(menu=file)
    file.add_command(label="Exit", command=self.exit_GUI)
    file.add_command(label="Information", command=self.info_popup)
    menu.add_cascade(label="File", menu=file)     

def Main_Menu(self):
    topFrame = Frame(root)
    topFrame.pack()
    bottomFrame = Frame(root)
    bottomFrame.pack(side=BOTTOM)

    Income_button = Button(topFrame, text="Enter your incomes", command=self.Income)
    Expense_button = Button(topFrame, text="Enter your expenses", command=self.Expense)
    Total_button = Button(bottomFrame, text="View Results", command=self.Total)
    Income_button.pack()
    Expense_button.pack()
    Total_button.pack()

def Income(self):
    Income_heading = Label(Toplevel(root), text="Please enter the incomes below!", font=("arial", 50, "bold"), fg="blue").pack()

def Expense(self):
    Expense_heading = Label(Toplevel(root), text="Please enter the expenses below!", font=("arial", 50, "bold"), fg="blue").pack()

def Total(self):
    pass

def exit_GUI(self):
    exit()

def info_popup(self):
    pass

g = GUI()
g.taskbar()
g.Main_Menu()
#g.Income()
#g.Expense()
g.Total()
g.info_popup()

root.mainloop()
1
D.Denton 29 अक्टूबर 2018, 13:18

2 जवाब

सबसे बढ़िया उत्तर

मान रखने के लिए आपको वर्ग विशेषताओं का उपयोग करना चाहिए। फिर हम उन मानों को सेट करने के लिए लैम्ब्डा, एंट्री और एक फ़ंक्शन के संयोजन का उपयोग कर सकते हैं।

यह नीचे दिया गया उदाहरण आपको दिखाएगा कि कैसे कोई कक्षा के अंदर शीर्ष स्तर की विंडो से मान सेट कर सकता है।

import tkinter as tk


class GUI():
    def __init__(self):
        menu = tk.Menu(root)
        file = tk.Menu(menu)
        root.config(menu=file)
        file.add_command(label="Exit", command=self.exit_GUI)
        file.add_command(label="Information", command=self.info_popup)
        menu.add_cascade(label="File", menu=file)

        self.income_var = 0
        self.expense_var = 0
        self.total_var = 0

        top_frame = tk.Frame(root)
        top_frame.pack()
        bottom_frame = tk.Frame(root)
        bottom_frame.pack(side="bottom")

        tk.Button(top_frame, text="Enter your incomes", command=self.income).pack()
        tk.Button(top_frame, text="Enter your expenses", command=self.expense).pack()
        tk.Button(bottom_frame, text="View Results", command=self.total).pack()

    def set_vars(self, entry, var):
        if var == "income":
            self.income_var = entry.get()
            print(self.income_var)
        if var == "expense":
            self.expense_var = entry.get()
            print(self.expense_var)
        if var == "total":
            self.total_var = entry.get()
            print(self.total_var)

    def income(self):
        top = tk.Toplevel(root)
        tk.Label(top, text="Please enter the incomes below!", font=("arial", 12, "bold"), fg="blue").pack()
        entry = tk.Entry(top)
        entry.pack()
        tk.Button(top, text="Submit", command=lambda: (self.set_vars(entry, "income"), top.destroy())).pack()

    def expense(self):
        top = tk.Toplevel(root)
        tk.Label(top, text="Please enter the expenses below!", font=("arial", 12, "bold"), fg="blue").pack()
        entry = tk.Entry(top)
        entry.pack()
        tk.Button(top, text="Submit", command=lambda: (self.set_vars(entry, "expense"), top.destroy())).pack()

    def total(self):
        pass

    def exit_GUI(self):
        self.destroy()

    def info_popup(self):
        pass


root = tk.Tk()
g = GUI()
root.mainloop()
1
Mike - SMT 29 अक्टूबर 2018, 13:20

टिंकर में जानकारी दर्ज करने के लिए विजेट विजेट प्रविष्टि है। पाठ प्राप्त करने के लिए आप get() का उपयोग कर सकते हैं। उदाहरण:

def income_func(self, event):
    text = Income_entry.get() #For get the text into the entry

def Income(self):
    top_lvl = Toplevel(root)
    Income_heading = Label(top_lvl , text="Please enter the incomes below!", font=("arial", 50, "bold"), fg="blue").pack()
    Income_entry = Entry(top_lvl)
    Income_entry.pack()
    Income_entry.bind("<Key-Return>", income_func) #When user press `enter` this call to income_func with argument `event`
0
Rayzeq 29 अक्टूबर 2018, 11:01