如何将Activex事件连接到python中的插槽

2024-09-30 12:21:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我在QAxWidget类中有一个ActiveX控件,我正试图将一个ActiveX事件连接到python中的插槽

void MoveComplete (int ID) [signal]

文件上说

QObject::connect(object, SIGNAL(MoveComplete(int)), receiver, SLOT(someSlot(int)));

但当我试着运行它时,我得到:

NameError: global name 'MoveComplete' is not defined.

我也试过这样运行

^{pr2}$

但它在执行移动的函数开始时被调用,而不是在它完成之后。在

如何将插槽连接到该信号?在


Tags: 文件idsignalobjectconnect事件控件int
1条回答
网友
1楼 · 发布于 2024-09-30 12:21:40

我显然不能测试这个,我也不知道你指的是什么文档,但是类似这样的东西应该可以在PyQt4中使用:

self.connect(axwidget, QtCore.SIGNAL('MoveComplete(int)'), self.test2)

也就是说,第一个参数是QAxWidget类的实例,第二个参数是信号签名,最后一个参数是python可调用对象(即函数、方法、lambda等)。在

<> PyQt中的连接信号并不总是像C++那样工作。有关详细信息,请参阅PyQt4文档中的Old-style Signal and Slot SupportNew-style Signal and Slot Support更像python(并且更不容易出错),但是我不知道它是否可以与ActiveX控件一起工作。在

相关问题 更多 >

    热门问题