我和PyQt6一起工作。我已经建立了一组不同标签的网格布局,名为b0,b1...b6...d1.我有一个字母词典,每当我输入一个单词时,它都会被编辑。
self.b0 = QLabel(self) etc...
letter_dict = {'b':3,'c':3,'d':3,'f':3,'g':3,'h':3,'k':3,'l':3,'m':3,'n':3,'p':3,'r':3,'s':3,'t':3,'v':3,'w':3,'y':3}
for letter in letter_dict:
letterposition = letter +str(letter_dict[letter])
print(letterposition)然后,我想相应地更新名为b0或b1等的标签。我尝试使用self.letterposition.setText(letter),因为它应该称为Sel.b0.setText(信函)。这似乎不管用。我想这和自我有关。实例与变量交互?这不是全部代码,但其他的一切似乎都在工作。
发布于 2022-04-08 22:21:06
你应该使用一个列表:
class MyApp:
def __init__():
self.labels = [QLabel(self) for _ in range(7)]现在你可以做这样的事了
self.labels[0].setText(letter)但是您不必显式地使用0。您可以使用变量代替。
对于网格,可以创建列表列表。我将把细节留给读者做练习。
https://stackoverflow.com/questions/71803632
复制相似问题