更改Tkinter框架标题

时间:2015-11-10 18:48:18

标签: python tkinter frame title

我想弄清楚如何更改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”标题,但我想将其更改为“我的数据库”。我已经尝试了所有我能想到的但没有成功的事情。任何帮助,将不胜感激。

3 个答案:

答案 0 :(得分:25)

试试这个:

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

答案 1 :(得分:1)

首先,您应该通过创建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

答案 2 :(得分:0)

我通常用

启动我的tkinter应用程序
order by str_to_date(concat(year, '-', month), '%Y-%M')) desc