我在QtDesigner中创建了一个QListWidget
,我想在之前创建的另一个名为“list_1”的列表中添加一些项目。问题是,每次按下组合键时,该列表(list_1
)都会更新。
以下是代码:
class Win(self):
list_1 = []
number = 0 #This is a variable that is continuously changing
def __init__(self):
#Some stuff in here
def addItem(self):
item = "Number " + str(Win.number)
Win.list_1.append(item)
Win.number += 1
class Dialog(QDialog):
def __init__(self):
QDialog._init__(self):
uic.loadUi("ListWidget.ui", self)
def addItems(self):
#I want to create this method to add the items from list_1 into the `QListWidget`
如何打开QDialog
(使用我已有的按钮)并在QListWidget中查看列表中附加的项目。我的意思是,“我打开QDialog
,然后我看到数字1.然后,我关闭QDialog
,在列表中添加一个数字,当我再次打开QDialog
时,我可以看到{ {1}}和Number 1
,等等。
希望你能帮助我。
答案 0 :(得分:1)
如果您不打算使用模型/视图架构,则有两种选择。
除非您有数千件物品或每件物品都有复杂的自定义绘画,否则这将非常快。
class Dialog(QDialog):
def __init__(self, list_1):
QDialog._init__(self):
uic.loadUi("ListWidget.ui", self)
for txt in list_1:
QListWidgetItem(txt, self.list_widget)
不要打扰单独列表。直接修改QListWidgetItems
中的QListWidget
。这仅适用于您每次都没有销毁和创建QDialog
的情况。
从长远来看,我认为你会发现这种方法效果更好。您将更少地拆除并刷新GUI(这意味着它会更快),并且您不必处理更新源列表但不更新GUI的错误(反之亦然)。