0

我是 Tkinter 编程的新手。

数据

我有以下 tkinter 代码:

##Program to print something or exit

def say_hi():
    second = Tk()
    Label1 = Label(second,text="HI!")
    Label1.pack()
  
from Tkinter import *
  
root = Tk()
  
r = Button(root,text="QUIT",fg="red",command=quit)
r.pack()
  
b = Button(root,text="Say something",fg="red",bg="black",command=say_hi())
b.pack()

root.mainloop()

这给出了以下输出:

在将窗户移到后面时:

怀疑

为什么在second没有调用函数的情况下打开窗口say_hi()

如何解决这个问题?

如何在当前窗口中启动新窗口或框架或在当前窗口中打印标签以便HI仅在按下按钮后打印。

我不想在控制台上打印它,因为大多数时候它都被忽视了。

眼镜

可视化 Python Tkinter IDE 2.6

4

2 回答 2

2

删除()之后say_hisay_hi()会调用函数:

b = Button(root,text="Say
        something",fg="red",bg="black",command=say_hi) b.pack()
于 2013-03-13T06:51:25.543 回答
0

代码中有一个错误:

进去()之后就不在了say_hicommand

修改后的代码如下:

##Program to print something or exit

def say_hi():
    second = Tk()
    Label1 = Label(second,text="HI!")
    Label1.pack()

from Tkinter import *

root = Tk()

r = Button(root,text="QUIT",fg="red",command=quit)
r.pack()

b = Button(root,text="Say something",fg="red",bg="black",command=say_hi)
b.pack()

root.mainloop()
于 2013-03-13T06:59:20.557 回答