【发布时间】:2020-11-07 22:11:46
【问题描述】:
我正在重新创建一个我一直在研究的程序,该程序以前使用 Tkinter 设置的变量。我以前并没有真正使用过对象,现在我正在尝试。我尝试过观看不同的视频和查找指南,但没有任何运气。目标是使我的程序尽可能模块化,使用单独的 .py 文件进行计算和 GUI 功能。我不确定使用对象是否适合我的工作。
我无法将 windowsSettings 对象传递给 createWindow 方法。我收到一条错误消息,提示“init() 缺少 3 个必需的位置参数:'width'、'height'、'title' 和 'state'”
import tkinter as tk
from tkinter import ttk
tkRoot = tk.Tk()
tkRoot.withdraw()
class MainWindow:
def __init__(self, width, height, title, state):
self.width = width
self.height = height
self.resolution = str(width) + 'x' + str(height)
self.title = title
self.state = state
def createWindow(self):
tkRoot.geometry(self.resolution)
tkRoot.title(self.title)
windowSettings = MainWindow(800, 600, 'Program Name', 'zoomed')
caller = MainWindow(windowsSettings)
caller.createWindow(windowSettings)
tk.mainloop()
【问题讨论】:
-
caller = MainWindow(windowsSettings)检查变量名,因为名字是windowSettings但是你上面使用windowsSettings...
标签: python class object tkinter parameter-passing