2

我想在我的程序中自动化 UI 操作:它可以显示菜单、打开另一个表单等。我在我的 python 应用程序中使用.py文件和文件。.ui我怎样才能做到这一点?

4

1 回答 1

6

几乎所有的 GUI 框架都有一个事件的概念,它通常由用户操作(按钮单击、窗口拖动等)生成并发送到您的处理程序。

但是事件通常也可以直接发送到事件循环。就您而言,我假设您使用的是 Digia 的 PyQt 和 Qt 工具包。

PyQt 文档QCoreApplication.sendEvent看起来是个不错的起点:

bool QCoreApplication.sendEvent (QObject receiver, QEvent event)

使用 notify() 函数将事件事件直接发送到接收者接收者。返回从事件处理程序返回的值。

发送事件后不会删除该事件。正常的做法是在堆栈上创建事件,例如:

QMouseEvent event(QEvent.MouseButtonPress, pos, 0, 0, 0);
QApplication.sendEvent(mainWindow, &event);

另见 postEvent() 和 notify()。

不要忽略 和 的postEvent又见notify

更多信息也将在Digia 的 postEvent 的 Qt 文档中

于 2012-11-26T09:34:39.373 回答