好的,对于这个GUI,我想根据某个变量结果读取文件。我会尝试更详细地解释它。
因此该文件从下拉菜单中获取输入。用户选择的选项将决定读取哪个文件。然后将读取的文件附加到数组中,然后将其放入另一个下拉菜单中。
我想知道这是否可行。我的部分代码在下面。
早期下拉菜单:
weapon.set('Sword')
choices = ['Sword', 'Bow', 'Katana']
self.weaponMenu = OptionMenu(self,weapon, *choices)
self.weaponMenu.grid(row =2, column = 2)
阅读文件:
self.moves = Label(self, text = "Move")
self.moves.grid(row = 9, column = 1,)
move = StringVar()
weapon = open("%d.txt" %(self.weaponMenu.get()),"r") #reads weapon file
moves = []
for line in weapon:
moves.append(line)
self.movesMenu = OptionMenu(self, move, *moves)
self.movesMenu.grid(row =10, column = 1)
这是我试图做的,但我无法让它发挥作用。我可以做if语句,但我想知道我尝试的方法是否可以工作,或者我还能做些什么来实现相同的结果。
我希望你理解我写的内容,并提前感谢你的帮助!希望我做的一切都正确,我仍然是stackoverflow的新手。
当我尝试执行该文件时,收到以下错误消息:
我收到以下错误消息:
Traceback (most recent call last):
File "C:\Python27\mh4uDamageWindow.py", line 88, in <module>
app = Application(root)
File "C:\Python27\mh4uDamageWindow.py", line 10, in __init__
self.create_widget()
File "C:\Python27\mh4uDamageWindow.py", line 67, in create_widget
weapon = open("%d.txt" % (self.weaponMenu.get()),"r") #reads weapon file
AttributeError: OptionMenu instance has no attribute 'get'
>>>
答案 0 :(得分:0)
使用OptionMenu
(weapon
)的变量集而不是小部件本身:
weapon = open("%s.txt" % (weapon.get()),"r") #reads weapon file
如果您在阅读文件的范围内无法使用,请将其添加到self
。