首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyQT删除模型layoutChanged时QTableView中的小部件

PyQT删除模型layoutChanged时QTableView中的小部件
EN

Stack Overflow用户
提问于 2022-02-16 11:29:26
回答 1查看 124关注 0票数 0

我正在使用pyqt,每次模型的布局发生变化时,我都会尝试删除一个按钮。

有时,它可以工作,但大多数情况下,应用程序结束时:分段错误(内核转储)

我不明白这个问题,好吧,是记忆上的错误,但为什么?

代码语言:javascript
运行
复制
    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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-16 19:04:23

要从python中的QTableView中删除对象,只需setIndexWidgetNone即可。

代码语言:javascript
运行
复制
self.TaskTable.setIndexWidget(self.tasktablemodel.index(i,0), None )

其他答案:How to remove widget from QAbstractItemView

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71141003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档