【问题标题】:Can't get tkinter window title to change from 'tk'无法让 tkinter 窗口标题从“tk”更改
【发布时间】:2018-10-20 16:04:33
【问题描述】:

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

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”。 其他一切都按预期工作。

【问题讨论】:

  • title 是一种方法,而不是属性 - tk.title("my title")

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


【解决方案1】:

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

root.title("My new title")

例子:

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

【讨论】:

    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 2016-01-04
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多