【发布时间】:2022-02-17 03:04:23
【问题描述】:
我正在使用 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
【问题讨论】:
-
请说明您何时(以及为什么)使用
layoutChanged,并提供minimal reproducible example。
标签: python pyqt pyqt5 qwidget qtableview