我正在使用pyqt,每次模型的布局发生变化时,我都会尝试删除一个按钮。
有时,它可以工作,但大多数情况下,应用程序结束时:分段错误(内核转储)
我不明白这个问题,好吧,是记忆上的错误,但为什么?
self.tasktablemodel.layoutChanged.connect(self.setupTableTask)
def setupTableTask(self):
for i in range(0, self.tasktablemodel.rowCount1()):
progress = QProgressBar()
progress.setValue(self.tasktablemodel._data[i][3])
self.TaskTable.setIndexWidget(self.tasktablemodel.index(i,3), progress )
if self.tasktablemodel._data[i][8] == 0 and self.tasktablemodel._data[i][9] == 0:
delete = QPushButton()
delete.clicked.connect(self.Kill_Task_clicked)
self.tasktablemodel.layoutChanged.connect(delete.deleteLater)
delete.setText("")
delete.setIcon(QtGui.QIcon('src/ui/delete-icon.png'))
self.TaskTable.setIndexWidget(self.tasktablemodel.index(i,0), delete )
self.TaskTable.setColumnHidden(8, True)
self.TaskTable.setColumnHidden(9, True)
self.TaskTable.resizeColumnsToContents()
self.TaskTable.scrollToBottom()
return发布于 2022-02-16 19:04:23
要从python中的QTableView中删除对象,只需setIndexWidget到None即可。
self.TaskTable.setIndexWidget(self.tasktablemodel.index(i,0), None )https://stackoverflow.com/questions/71141003
复制相似问题