相关帖子在这里
QTablewidget drop without creating new rows
但这尚未得到确认。
重复吗?但我敢问...
我正在制作QTableWidget
我要安装拖放事件。
但是有副作用。
执行此代码后,
from PySide import QtGui
from PySide import QtCore
import sys
class 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()
问题是当我将任意项目拖到其他项目中时,如果我将它们放在项目的交点处,则会插入新行。
我只想更改数据。我不想插入新的行或列。
你有什么主意吗?
答案 0 :(得分:0)
我不知道为什么,但是我可以做到。
为此,
self.setAcceptDrops(True)
self.setDragEnabled(True)
仅限制两个属性即可达到我的目的。