幾天前,我嘗試在 sql.connector 和 tkinter 之間創建連接,但我注意到 Button 小部件和命令選項存在問題,因此我嘗試在不使用 mysql.connector 的情況下使用 tkinter 創建一個簡單的程式,但仍然存在問題,這是我的代碼,按鈕小部件不起作用:
from tkinter import *
win = Tk()
t1=IntVar()
t2=IntVar()
def adder():
var1 = int(t1.get())
var2 = int(t2.get())
return var1 var2
win.geometry("750x750")
l1 = Label(win , text = "Number 1").grid(row = 0 , column = 0)
e1 = Entry(win , textvariable = t1).grid(row = 0 , column = 1)
l2 = Label(win , text = "Number 2").grid(row = 1 , column = 0)
e2 = Entry(win , textvariable = t2).grid(row = 1 , column = 1)
do = adder
b1 = Button(win , text = "Adder" , command = do)
b1.grid(row = 2 , column = 2)
lb = Listbox(win)
lb.grid(row = 4 , column = 4)
lb.insert(1 , do())
win.mainloop()
問題是 Button 小部件甚至沒有顯示在視窗中,為什么?
uj5u.com熱心網友回復:
我復制并粘貼了示例代碼,確實出現了加法器按鈕。洗掉了do = adder
修改代碼以lb = Listbox(win)在加法器事件處理程式中回傳結果。
from tkinter import *
win = Tk()
t1 = IntVar()
t2 = IntVar()
def adder(): # Button command, that is event handler.
var1 = int(t1.get())
var2 = int(t2.get())
lb.insert(1, var1 var2) # Place the update here in the event handler
win.geometry("750x750")
l1 = Label(win, text="Number 1").grid(row=0, column=0)
e1 = Entry(win, textvariable=t1).grid(row=0, column=1)
l2 = Label(win, text="Number 2").grid(row=1, column=0)
e2 = Entry(win, textvariable=t2).grid(row=1, column=1)
b1 = Button(win, text="Adder", command=adder) # make adder the event handler
b1.grid(row=2, column=2)
lb = Listbox(win)
lb.grid(row=4, column=4)
# lb.insert(1 , do()) # Update is handled in the adder event handler.
win.mainloop()
uj5u.com熱心網友回復:
operator我們可以使用 Pythonsum()函式來代替。
def adder():
var1 = t1.get()
var2 = t2.get()
total = (var1, var2)
lb.insert(1, sum(total))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/492991.html
