我想创建一个弹出消息框,提示用户输入一个输入。我在一个类中有这个方法。我的代码基于this guide by java2s。
class MyDialog:
def __init__(self, parent):
top = self.top = Toplevel(parent)
Label(top, text="Value").pack()
self.e = Entry(top)
self.e.pack(padx=5)
b = Button(top, text="OK", command=self.ok)
b.pack(pady=5)
def ok(self):
print "value is", self.e.get()
self.top.destroy()
root = Tk()
d = MyDialog(root)
root.wait_window(d.top)
但在这方面,top = self.top = Toplevel(parent)
对我不起作用。
我有一个我正在努力完成的模型。
我的程序结构如下:
class MainUI:
def__int__(self):
...
self.initUI()
def initUI(self):
.......
Popup = Button(self, text="Enter Value", command=self.showPopup)
def showPopup(self):
#create the popup with an Entry here
如何在Python中创建接受用户输入的消息框?
我对你的两个不同的代码块有点困惑。只处理第一个代码块,不会发生任何事情,因为您从未进入主循环。为此,您需要调用
root.mainloop()
。这样做的典型方法是将按钮添加到根小部件并将回调函数绑定到按钮(包括d=MyDialog()
和root.wait_window(d.top)
)这里有一些基本的代码,我希望能做你想做的。。。
我从popupWindow获取值并在主程序中使用它(查看与b2相关联的lambda函数)。
主窗口:
“单击我”窗口:
“单击我”打开时的主窗口:
相关问题 更多 >
编程相关推荐