更改 Tkinter 框架标题

Change Tkinter Frame Title

我想知道如何更改 Tkinter Frame 的标题。下面是模仿我试图更改标题的程序部分的简化代码:

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()

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

试试这个:

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

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

我还建议不要 使用全局导入。相反,按名称导入 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()

最后,为了让您的代码更易于阅读,我建议您将 class 名称的首字母大写,以与几乎所有 python 各地的程序员保持一致:

class StartWindow(...):

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

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

我通常使用

启动我的 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()