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 回答