繁体   English   中英

Tkinter 没有显示字符串 Python

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM