2

プログラムで UI アクションを自動化したい: メニューを表示したり、別のフォームを開いたりすることができます。Python アプリで.pyファイルとファイルを使用しています。.uiこれどうやってするの?

4

1 に答える 1

6

ほとんどすべてのGUIフレームワークにはイベントの概念があり、これは通常、ユーザーアクション(ボタンのクリック、ウィンドウのドラッグなど)によって生成され、ハンドラーに送信されます。

ただし、通常、イベントはイベントループに直接送信することもできます。あなたの場合、DigiaのPyQtおよびQtツールキットを使用していると想定しています。

PyQtQCoreApplication.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

詳細については、PostEventに関するDigiaのQtドキュメントも参照してください。

于 2012-11-26T09:34:39.373 に答える