Ale*_*kin 5 qt unit-testing qtestlib
我尝试使用简单的亮片来测试拖放:mousePress + mouseMove + mouseRelease。但这是行不通的。
我研究了qtest的源,发现通过主调度程序processEvent()测试了该移动事件。此外,我发现QT的bug跟踪器的一些错误:1,2
因此,我认为不可能在最新的稳定Qt4下测试拖放。有谁成功的故事吗?
我没有成功通过 QTest 鼠标功能模拟拖放,并且digia 表示 他们不会将该功能添加到 QT4 中。我通过类似于上面链接中建议的方法实现了拖/放测试:
创建您的 mime_data,例如:
mime_data = widget_model.mimeData(indexes)
Run Code Online (Sandbox Code Playgroud)
或者
mime_data = QMimeData()
mime_data.setText(widget.text())
Run Code Online (Sandbox Code Playgroud)
然后使用这样的函数来删除数据:
def dropOnto(self, widget, mime_data):
action = Qt.CopyAction|Qt.MoveAction
pt = widget.rect().center()
drag_drop = QDropEvent(pt, action, mime_data, Qt.LeftButton, Qt.NoModifier)
drag_drop.acceptProposedAction()
widget.dropEvent(drag_drop)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
868 次 |
最近记录: |