Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为PyQt提供类似宏的录制功能_Python_Qt_Pyqt_Pyqt4 - Fatal编程技术网

Python 如何为PyQt提供类似宏的录制功能

Python 如何为PyQt提供类似宏的录制功能,python,qt,pyqt,pyqt4,Python,Qt,Pyqt,Pyqt4,我有一个Qttablewidget和它旁边的其他Qt小部件。我要找的是一个自动脚本生成器,它记录我将在表或其他Qt小部件上执行的所有操作。我也曾与Enthound合作过,他们有一个很棒的apptoolEnthound.scripting,它可以帮助我完成同样的任务,但只用于traits对象。我也想在PyQt小部件上做同样的事情,但不知道如何做。您可以从您的实例中使用该方法。这是一个看起来很自然的想法,它让您想知道为什么现在还没有一个库来实现它 事实证明,编写能够让你获得80%解决方案的东西非常简

我有一个Qt
tablewidget
和它旁边的其他Qt小部件。我要找的是一个自动脚本生成器,它记录我将在表或其他Qt小部件上执行的所有操作。我也曾与Enthound合作过,他们有一个很棒的apptool
Enthound.scripting
,它可以帮助我完成同样的任务,但只用于traits对象。我也想在PyQt小部件上做同样的事情,但不知道如何做。

您可以从您的实例中使用该方法。

这是一个看起来很自然的想法,它让您想知道为什么现在还没有一个库来实现它

事实证明,编写能够让你获得80%解决方案的东西非常简单,特别是如果你的应用程序很小的话。但是,实现一个录制/回放系统,使其适用于一个具有多种小部件的大型应用程序,是一件相当痛苦的事情

我写了一个图书馆,尽力解决这个问题。它充满了黑客攻击,代码还很不成熟(我今天刚刚把回购协议推到github),但你可能会有一些想法。见鬼,如果你幸运的话,你甚至可以不用做任何更改就可以使用它:


还没有文件。我计划解释所有使其工作的技巧,并可能稍微清理一下代码。目前,您至少可以按照自述文件中的描述尝试演示。

文档声称,将
eventFilter
QApplication
一起使用可以捕获所有事件,但在我自己的测试中,我发现一些事件会被删除(例如,如果其他事件筛选器先将其删除)。我发现子类化QApplication并重写
QApplication.notify()
是确保获取应用程序中所有事件的最佳方法。