简单的问题是,我在Python方面没有太多的经验,而这只是一个挑战,需要我的经验来帮助我。我有一个名为'resolution'的变量,它位于类中的方法中。在这里您可以看到代码:
class LauncherWindow(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master.title('RPG-game')
self.pack(fill=BOTH, expand=1)
self.run_gui()
def run_gui(self):
resolutions = ('1920 x 1080',
'1920 x 1080',
'1600 x 900',
'1280 x 720',
'640 x 800')
resolution = StringVar()
resolution.set(resolutions[0])
auto_image = Image.open('resources/launcher/launcher.png')
render_image = ImageTk.PhotoImage(auto_image)
image_print = Label(self, image=render_image)
image_print.image = render_image
image_print.pack()
play_button = ttk.Button(self, text='Play!', command=lambda: start_game())
play_button.pack(side=BOTTOM, pady=10)
main_frame = Frame(self, bg='#D6D7D7')
select_resolution = ttk.Label(main_frame, text='Select resolution:', background='#D6D7D7')
select_resolution.pack(side=LEFT)
select_resolution_entry = ttk.OptionMenu(main_frame, resolution, *resolutions)
select_resolution_entry.pack(side=LEFT, padx=10)
windowed_mode = ttk.Label(main_frame, text='Windowed:', background='#D6D7D7')
windowed_mode.pack(side=LEFT)
windowed_checkbutton = Checkbutton(main_frame, background='#D6D7D7')
windowed_checkbutton.pack(side=LEFT, padx=2)
main_frame.pack(fill=BOTH, padx=50, side=BOTTOM, pady=20)
def start_game():
print('starting game')
for i in resolutions:
if resolution.get() == i:
print(resolution.get())
我的假设是,我需要创建一个全局变量,我可以将其导入到新脚本中,对此我能有任何指导吗
如果我确实需要在类外创建一个变量,那么如何在类内的方法中访问该变量
示例:我有一个名为MainGame.py的脚本,我希望能够在此脚本中使用resolution变量
在运行run\u gui()方法时设置了resolution变量,因此我假设您有一个类LauncherWindow的实例,因此您可以始终将该变量保存为类的成员,然后按如下方式访问它:
在MainGame.py
这样您就可以在run\u gui()等方法中更改它
如果您只想将其保存为静态变量(与LauncherWindow类的实例无关),可以将其保存为
这样,您将只有一个“分辨率”,它将保持静态,如果有人更改它,它将更改所有实例的LauncherWindow
这次你可以像
不需要在这里创建实例
相关问题 更多 >
编程相关推荐