0

私は QT4 と python 2.4 ベースの GUI を持っています。ユーザーは、ファイルを開くことで使用を開始します。明示的なブラウジングに加えて、ユーザーが開くファイルをコマンド ライン引数として指定できるようにしたいと考えています。QMainWindow (またはどこでも) でイベントを探しています。これにより、アプリケーションがいつ初期化を完了し、ファイルを自動的に開いてウィジェットに入力できるユーザー操作の準備が整ったかを検出できます。これまでのところ、メインウィンドウがまだこの時点で表示されていないため、正確ではない showEvent をオーバーライドするよりも良いものを見つけることができませんでした。大丈夫かもしれませんが、これを行う適切な方法を探しています。私が過去に使用した他のいくつかの UI ツールキットでは、UI が安全に処理できることを示す「メイン フォーム レイアウトの完了」イベントのようなものでした。QT4に似たようなものはありますか? それが重要な場合、私はこれを Linux で実行しています。

あなたの洞察は大歓迎です。

4

1 に答える 1

1

ここではイベントは必要ありません。__init__()すべてが後でロードされて実行されることが保証されているshow()ので、後でファイルを開くためのコードを配置するだけです。

import sys
from PyQt4 import QtGui


class Example(QtGui.QWidget):
    def __init__(self):
        super(Example, self).__init__()
        self.setupUI()
        self.show()
        # normal __init__ done

        if len(sys.argv) > 1:
            with open(sys.argv[1]) as f:
                # do stuff with file


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
于 2013-01-06T22:32:11.017 に答える