在 pySide2 中按下按钮时如何将项目添加到 QListWidget?
How to add item to QListWidget when press a button in pySide2?
我尝试 google 它但没有答案,看起来 QListWidget 不是动态模块
这是我的代码:
listwidget = QtWidgets.QListWidget()
for a in range (0,3):
listwidget.addItem(str(a))
button_layout = QHBoxLayout()
self.buttfind = QPushButton('Find')
self.buttfind.clicked.connect(self.find)
self.buttmerge = QPushButton('Merge')
self.buttmerge.clicked.connect(self.merge)
button_layout.addWidget(self.buttfind)
button_layout.addWidget(self.buttmerge)
main_layout.addWidget(listwidget)
main_layout.addLayout(button_layout)
self.setLayout(main_layout)
def merge(self):
print('a')
listwidget.addItem(str('asd'))
我在以下位置遇到问题:
def merge(self):
print('a')
listwidget.addItem(str('asd'))
错误:
listwidget.addItem(str('asd'))
NameError:名称 'listwidget' 未定义
listwidget
只有函数作用域,因此变量引用在第一个函数结束时丢失。
将 listwidget
更改为 self.listwidget
将赋予变量实例范围。
我尝试 google 它但没有答案,看起来 QListWidget 不是动态模块
这是我的代码:
listwidget = QtWidgets.QListWidget()
for a in range (0,3):
listwidget.addItem(str(a))
button_layout = QHBoxLayout()
self.buttfind = QPushButton('Find')
self.buttfind.clicked.connect(self.find)
self.buttmerge = QPushButton('Merge')
self.buttmerge.clicked.connect(self.merge)
button_layout.addWidget(self.buttfind)
button_layout.addWidget(self.buttmerge)
main_layout.addWidget(listwidget)
main_layout.addLayout(button_layout)
self.setLayout(main_layout)
def merge(self):
print('a')
listwidget.addItem(str('asd'))
我在以下位置遇到问题:
def merge(self):
print('a')
listwidget.addItem(str('asd'))
错误: listwidget.addItem(str('asd')) NameError:名称 'listwidget' 未定义
listwidget
只有函数作用域,因此变量引用在第一个函数结束时丢失。
将 listwidget
更改为 self.listwidget
将赋予变量实例范围。