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