[英]How can I drag drop QListWidget items with custom item widgets?
如果使用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)
检查这是否可行。
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.