[英]Tkinter is not showing string Python
我试图在 tkinter 中显示一条弹出消息,但我不知道为什么它没有显示在窗口中。 这是我的代码:
def popupmsg(msg):
popup = tk.Tk()
popup.wm_title("Results ")
data_string = tk.StringVar()
data_string.set(msg)
ent = tk.Entry(popup, textvariable=data_string, fg="black", bg="white", bd=0, state="readonly")
ent.pack(side="top", fill="x", pady=10)
B1 = tk.Button(popup, text="Okay", command=popup.destroy)
B1.pack()
popup.mainloop()
这就是我打电话的方式:
string = " "
for f in final:
string = string + " " + f + " \n"
# print("Results : \n" + string)
popupmsg("Results : \n" + string)
尝试这个...
import tkinter as tk
def popupmsg(msg):
popup = tk.Tk()
popup.wm_title("Results ")
data_string = tk.StringVar()
data_string.set(msg)
ent = tk.Entry(popup, textvariable=data_string, fg="black", bg="white", bd=0)
ent.configure(state='readonly')
ent.pack(side="top", fill="x", pady=10)
B1 = tk.Button(popup, text="Okay", command=popup.destroy)
B1.pack()
popup.mainloop()
您正在使用多个Tk()
实例。 所以StringVar()
不知道属于哪个父级,所以要解决这个问题,尝试用Toplevel()
替换所有子Tk()
,只留下一个Tk()
。
不推荐的方法是说data_string = tk.StringVar(master=popup)
但仍然创建两个Tk()
实例会导致另一堆问题。 为什么不鼓励使用多个 Tk 实例?
由于您没有得到输出并且没有显示错误,这将是明显的错误,如果这不起作用,请提供更多调试细节或更多代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.