这还没有得到证实。它是重复的吗?但我敢问......我在做 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)
限制仅有的两个属性达到了我的目的。
添加回答
举报
0/150
提交
取消