【问题标题】:Change Tkinter Frame Title [duplicate]更改 Tkinter 帧标题 [重复]
【发布时间】:2016-02-11 18:16:37
【问题描述】:

我想弄清楚如何更改 Tkinter 框架的标题。下面是模仿我试图更改标题的程序部分的简化代码:

from Tkinter import *

class start_window(Frame):
    def __init__(self, parent=None):
        Frame.__init__(self, parent)
        Frame.pack(self)
        Label(self, text = 'Test', width=30).pack()

if __name__ == '__main__':
    start_window().mainloop()

使用此示例代码,Frame 具有标准的“tk”标题,但我想将其更改为“My Database”之类的名称。我已经尝试了我能想到的一切,但没有成功。任何帮助,将不胜感激。

【问题讨论】:

    标签: python tkinter frame title


    【解决方案1】:

    我通常使用

    启动我的 tkinter 应用程序
    #!/usr/local/bin/python3
    
    import Tkinter as tk
    
    root = Tk() 
    
    root.title('The name of my app')
    
    root.minsize(300,300)
    root.geometry("800x800")
    
    root.mainloop()
    

    【讨论】:

      【解决方案2】:

      首先,您应该通过创建Tk 的实例来显式创建主窗口。当您这样做时,您可以使用对该窗口的引用来更改标题。

      我还建议不要使用全局导入。相反,按名称导入 tkinter,并在 tkinter 命令前加上模块名称。我使用名称tk 来减少打字:

      import Tkinter as tk
      
      class start_window(tk.Frame):
          def __init__(self, parent=None):
              tk.Frame.__init__(self, parent)
              tk.Frame.pack(self)
              tk.Label(self, text = 'Test', width=30).pack()
      
      if __name__ == '__main__':
          root = tk.Tk()
          root.wm_title("This is my title")
          start_window(root)
          root.mainloop()
      

      最后,为了让你的代码更容易阅读,我建议你的类名首字母大写,以便与几乎所有的 Python 程序员保持一致:

      class StartWindow(...):
      

      通过使用与其他人相同的约定,我们可以更轻松地理解您的代码。

      有关 tkinter 社区使用的命名约定的更多信息,请参阅PEP8

      【讨论】:

      • 您好,非常感谢您的回复。不幸的是,这对我不起作用。在进行建议的修改后,我最终得到了两个小部件窗口,一个看起来像我的原始小部件,另一个是空白但具有所需标题的窗口。但是下一个答案确实解决了我的问题。谢谢,非常感谢您的帮助。
      • 如果您在调用tk.Tk() 之前创建了一些小部件,您最终会得到两个窗口。您应该在创建任何其他小部件之前显式创建根窗口。
      【解决方案3】:

      试试这个:

      if __name__ == '__main__':
          root = Tk()
          root.title("My Database")
          root.geometry("500x400")
          app = start_window(root)
          root.mainloop()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多