在PyQt中模拟鼠标单击事件

时间:2010-08-11 11:33:44

标签: qt pyqt

我正在尝试在ui.goButton小部件上模拟Python中的鼠标单击事件。

这是我做的:

QtTest.QTest.mouseClick(self.ui.goButton, QtCore.Qt.LeftButton)

这是正确的方法吗?因为它无法正常工作。

1 个答案:

答案 0 :(得分:5)

根据你对评论的回复,我会回答你的问题。

基本上信号可以发射

emit signalToBeEmitted()

所以,如果你想发出QPushButton的{​​{1}}信号,

你必须继承clicked(),你可以发出信号,如QPushButton

This example将帮助您发出信号。

但我的问题是你为什么要这样做?

通过发出emit clicked()信号,您将依次拨打clicked() ed插槽..那么为什么你不能直接调用插槽而不是发出信号然后调用插槽..

请记住 connect只是普通函数,可以像其他函数一样调用它。

否则,如果插槽存在于您将通过信号连接的另一个对象中,那么会发出您自己的信号而不是弄乱预定义的信号。

恕我直言,即使是短期内也不要发出预定义的信号 ..

希望有所帮助......

编辑:

哎呀我没看到PyQt。我习惯用C ++编写Qt。我对Python一无所知。但我相信Qt的大多数概念仍然很常见。所以我会留下我的答案..