我很困惑。 我以前写过这段代码,并在其他地方使用过:
def testBut(p):
print(root)
for items in root.findall("a/item"):
print(items.get("name"))
而且效果很好。在
但现在在我的新项目中,我有以下代码:
^{pr2}$所以在国防部之外。它工作得很好,并且显示了a中的所有项目,在def中我只得到根目录(因为我打印了它)。有人能解释一下为什么吗?在
我很抱歉,如果这是一个转载或其他,但我只是找不到答案,尤其是考虑到它在不同的文件,但完全相同的设置。。在
编辑:完整(ish)代码。在
from tkinter import *
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
import xml.etree.ElementTree as ET
tree = ET.parse("Alphabet.xml")
root = tree.getroot()
colour0 = "WHITE"
colour1 = "OLIVEDRAB1"
colour2 = "PALETURQUOISE1"
colour3 = "ROSYBROWN1"
font1 = "Arial, 24"
counterRow = 1
counterColumn = 0
for items in root.findall("a/item"):
print(items.get("name"))
def testBut(p):
print(root)
for items in root.findall("a/item"):
print("test")
print(items.get("name"))
def setup():
for letters in root:
global counterRow
global counterColumn
letters.tag = Button(vindue, text=letters.tag, font=font1,
command=lambda p=letters.tag: testBut(p))\
.grid(row=counterRow, column=counterColumn, sticky="nsew")
counterColumn += 1
if counterColumn > 7:
counterRow += 1
counterColumn = 0
def reset():
for buttons in vindue.grid_slaves():
if buttons.grid_info()["row"] > 0:
buttons.grid_forget()
def showBut(input):
counter = 0
reset()
lst = []
print(input)
str = input+"/item"
print(str)
for items in root.findall("a/item"):
print(items.get("name"))
print("test")
varstr = items.get("name")+"Var"
varstr = IntVar()
varstr2 = items.get("name")
varstr2 = Button(vindue, text=items.get("name"), font="Arial, 44", command=lambda varstr=varstr: (varstr.set(varstr.get() + 1), print(varstr.get())))
varstr2.grid(row=1, column=counter)
counter += 1
vindue = Tk()
setup()
vindue.mainloop()
目前没有回答
相关问题 更多 >
编程相关推荐