tkinter按钮小部件

发布于 2025-02-08 16:48:04 字数 689 浏览 2 评论 0原文

几天前这是我的代码和按钮窗口小部件不起作用:

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()

问题是按钮窗口小部件甚至没有在窗口中显示,为什么?

few days ago i tried to create connect between sql.connector and tkinter but I noticed there is problem with Button widget and with command option, so i tried to create a simple program with tkinter without using mysql.connector but still there's problem with it , here is my code and Button widget does not work :

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()

and the problem is Button widget doesn't even show in window , why ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时常饿 2025-02-15 16:48:04

我复制并粘贴了示例代码,并且出现了加法器按钮。
删除了do = adder
修改了代码以将结果返回lb = ListBox(Win)在Adder事件处理程序中。

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()

I copied and pasted the example code and the adder button did appear.
Removed the do = adder
Modified the code to return the result to lb = Listbox(win) in the adder event handler.

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()
小兔几 2025-02-15 16:48:04

而不是操作员我们可以使用Python sum()函数。

 def adder():
     var1 = t1.get()
     var2 = t2.get()
     total = (var1, var2)
     lb.insert(1, sum(total))

Instead of operator We can used Python sum() Function.

 def adder():
     var1 = t1.get()
     var2 = t2.get()
     total = (var1, var2)
     lb.insert(1, sum(total))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文