zoukankan      html  css  js  c++  java
  • 【python tkinter】对于窗口存在的认识

    今天写了messagebox(信息提示框) 和 inputbox(输入框)。 对于  【窗口】 有了新的认识。。。

    发现一个奇怪的事情(虽然原因很简单啦······)

    def msg_box(title="消息框标题", text="提示内容"):
        try:
            root = Tk()
            root.withdraw()
            root.wm_attributes('-topmost', 1)
            messagebox.showinfo(title, text)
        except Exception as e:
            raise e
    def input_box(title="Info"):
        window = Tk()  # 主窗口
        window["bg"] = "white"
        window.wm_attributes('-topmost', 1)  # 窗口置顶
        window.title(title)  # 窗口标题
    
        linedit = tk.Entry(borderwidth=2, width=40)
        linedit.grid(row=0, padx=5, pady=20, columnspan=10)
    
        b = tk.Button(window_1, text='退出', command=window.quit, width=5, relief="groove", bg="white")
        b.grid(row=1, column=5, columnspan=3, pady=15)
    
        window.mainloop()  # 循环消息,让窗口活跃

    很明显,单独运行上面2段程序,是可以顺利执行的。

    但 2个程序 先后运行呢???

    结果很有趣。。。 一开始吓到我了。


    有人可能会说 这肯定是第一个msgbox的影响,msgbox窗口没有关闭!


    我也知道啊~~~

    但 这意味着什么?

    msgbox()  root = TK()  产生了一个root窗口

    inputbox()  window = Tk()  产生了一个 window窗口

    结果是 root窗口 影响了 window窗口 ,或是 root窗口 和 window窗口根本是同一个窗口?????? (请GUI大神指教~)


    我觉得root窗口和window窗口是同一个。 (作为程序员,"觉得"这个词不应该出现······)

    也就是msgbox里的root窗口,在inputbox窗口里 再次出现。但我不理解为什么 输入框ENTRY 消失了? 而Button却可以正常显示???(如果有人知道,请指教~)

    欢迎交流,感谢任何提出建议的人······

  • 相关阅读:
    钱多,人傻,快来快来
    Rabbitmq的使用及Web监控工具使用
    Fiddler的配置
    哪个微信编辑器比较好用?
    js手机号批量滚动抽奖代码实现
    Webform和MVC,为什么MVC更好一些?
    自学MVC看这里——全网最全ASP.NET MVC 教程汇总
    客如云系统访谈
    Asp.Net MVC2.0 Url 路由入门---实例篇
    架设自己的FTP服务器 Serv-U详细配置图文教程
  • 原文地址:https://www.cnblogs.com/Restaurant/p/11693868.html
Copyright © 2011-2022 走看看