如果我使用QListWidget
默认项目,我可以拖放其项目(感谢setDragDropMode
),但如果我使用自定义项目小部件(setItemWidget
),我不会能够拖拽。我该如何解决这个问题?
这是我用自定义窗口小部件项列表的代码:
alist = QListWidget()
alist.setDragDropMode(QAbstractItemView.InternalMove)
for i in range(20):
itemWidget = QPushButton('Test' + str(i))
item = QListWidgetItem('item ' + str(i))
item.setSizeHint(QSize(0,100))
alist.addItem(item)
alist.setItemWidget(item, itemWidget)
vbox = QVBoxLayout()
vbox.addWidget(QPushButton())
vbox.addWidget(alist)
self.setLayout(vbox)
答案 0 :(得分:0)
检查这是否有效。
alist = QListWidget()
alist.setAcceptDrops(True)
alist.setDragEnabled(True)
alist.setDragDropMode(QAbstractItemView.InternalMove)
for i in range(20):
itemWidget = QPushButton('Test' + str(i))
item = QListWidgetItem('item ' + str(i))
item.setSizeHint(QSize(0,100))
alist.addItem(item)
alist.setItemWidget(item, itemWidget)
vbox = QVBoxLayout()
vbox.addWidget(QPushButton())
vbox.addWidget(alist)
self.setLayout(vbox)