无法将tkinter窗口标题从“ tk”更改为

时间:2018-10-20 16:04:34

标签: python python-3.x tkinter tkinter-canvas

我认为更改窗口标题的行是:

tk=Tk()

tk.title="my title"

但是我无法在代码中更改标题:

def welcome_screen():
    #creates the login window
    window = Tk()
    window.title = "Login Screen"
    window.geometry("960x540+450+250")
    canvas = Canvas(window, width=960, height=540, bd=10, bg='#494949')
    canvas.pack()
    window.mainloop()

welcome_screen()

标题应更改为“登录屏幕”,但运行时仅显示“ tk”。 其他一切都按预期工作。

2 个答案:

答案 0 :(得分:3)

title是一个函数。像这样使用它:

root.title("My new title")

示例:

tk = Tk()
tk.title("my title")
tk.mainloop()

答案 1 :(得分:2)

正如@jasonharper在评论中指出的那样,title是一种方法,而不是属性,因此您需要调用它并传递标题字符串。您的代码的另一个问题是,它两次调用Tk(),通常无法正常工作。看起来您似乎还使用了from tkinter import *,因为它可能导致难以调试的名称冲突,因此被许多人认为是不良的编程习惯。

下面是解决所有这些问题的代码:

import tkinter as tk

def welcome_screen():
    """ Create and display login window. """
    window = tk.Tk()
    window.title("Login Screen")
    window.geometry("960x540+450+250")
    canvas = tk.Canvas(window, width=960, height=540, bd=10, bg='#494949')
    canvas.pack()
    window.mainloop()

welcome_screen()