gpt4 book ai didi

Qt After drop事件

转载 作者:行者123 更新时间:2023-12-04 06:06:08 24 4
gpt4 key购买 nike

我需要在小部件上发生放置事件后处理一些数据。

即用户选择列表 A 中的一些项目并将它们放到列表 B 中。我的程序需要在 B 添加从 A 中选择的项目后比较这两个列表。

有任何想法吗?

最佳答案

这是一个 PyQt 脚本,它演示了两种捕获 drop 事件的方法:

from PyQt4 import QtGui, QtCore

class Window(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
widget = QtGui.QWidget(self)
self.setCentralWidget(widget)
layout = QtGui.QVBoxLayout(widget)
self.listA = ListWidget(self)
self.listB = QtGui.QListWidget(self)
self.listB.viewport().installEventFilter(self)
for widget in (self.listA, self.listB):
widget.setAcceptDrops(True)
widget.setDragEnabled(True)
for item in 'One Two Three Four Five Six'.split():
widget.addItem(item)
layout.addWidget(widget)

def eventFilter(self, source, event):
if (event.type() == QtCore.QEvent.Drop and
source is self.listB.viewport()):
self.listB.dropEvent(event)
if event.isAccepted():
print 'eventFilter', self.listB.count()
return True
return QtGui.QMainWindow.eventFilter(self, source, event)

class ListWidget(QtGui.QListWidget):
def __init__(self, parent):
QtGui.QListWidget.__init__(self, parent)

def dropEvent(self, event):
QtGui.QListWidget.dropEvent(self, event)
if event.isAccepted():
print 'dropEvent', self.count()

if __name__ == '__main__':

import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())

关于Qt After drop事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8323537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com