为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止在 PySide 中使用 QTableWidget 删除项目时插入新行

如何防止在 PySide 中使用 QTableWidget 删除项目时插入新行

繁花如伊 2021-11-09 10:47:21
这还没有得到证实。它是重复的吗?但我敢问......我在做 QTableWidget我想安装拖放事件。但它有副作用。执行这段代码时,from PySide import QtGuifrom PySide import QtCoreimport sysclass CustomTableWidget(QtGui.QTableWidget):    def __init__(self,row=0,column=0,parent=None):        super(CustomTableWidget,self).__init__(parent=None)        self.setRowCount(row)        self.setColumnCount(column)              self.selection_start = False            self.setAcceptDrops(True)        self.setDragEnabled(True)        self.setDragDropMode(QtGui.QAbstractItemView.DragDrop)        self.setDragDropOverwriteMode(False)        self.setDropIndicatorShown(True)def main():    try:        QtGui.QApplication([])    except Exception as e:        print(e)    table = CustomTableWidget(10,10)    for i in range(10):        for k in range(10):            item = QtGui.QTableWidgetItem()            item.setText("{0},{1}".format(i,k))            table.setItem(i,k,item)    table.show()    sys.exit(QtGui.QApplication.exec_())if __name__ == "__main__":    main()这是显示的小部件。问题是当我将任意项目拖到其他项目中时,如果我放在项目的交叉点处,则会插入新行。我只想更改数据。我不想插入新行或新列。你有什么主意吗?
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

我不知道为什么会这样,但我可以做到。

为了做到这一点,

self.setAcceptDrops(True)
self.setDragEnabled(True)

限制仅有的两个属性达到了我的目的。


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信