gpt4 book ai didi

python - 在 Python 中,更改作为输入传递给 __init__ 的类实例的属性

转载 作者:太空狗 更新时间:2023-10-30 02:17:49 26 4
gpt4 key购买 nike

考虑以下生成(基本)GUI 的代码:

import Tkinter as tk

class Game:
def __init__(self, root):
self.root = root
button = tk.Button(root, text="I am a button")
button.pack()

root = tk.Tk()
root.title("This is a game window") # I would like to move this code to the Game class
game = Game(root)
root.mainloop()

生成的 GUI 如下所示:

enter image description here

我想达到同样的效果,但将窗口标题的设置移到类定义中。 (我在 __init__ 中尝试过 self.root.title = "This is a game window" 但这似乎没有效果)。这可能吗?

最佳答案

当然。您需要调用 .title 方法。做

root.title = "This is a game window" 

不设置标题,它用字符串覆盖方法。

import Tkinter as tk

class Game:
def __init__(self, root):
self.root = root
root.title("This is a game window")

button = tk.Button(root, text="I am a button")
button.pack()

root = tk.Tk()
game = Game(root)
root.mainloop()

可以也可以做 self.root.title("This is a game window") 但它更多的是打字,并且使用 self.root 比使用传递给 __init__ 方法的 root 参数效率稍低,因为 self.root 需要属性查找,但是 root 是一个简单的局部变量。

关于python - 在 Python 中,更改作为输入传递给 __init__ 的类实例的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com