2013-01-06 2 views
0

QT4 및 Python 2.4 기반 GUI가 있습니다. 사용자는 파일을 열어 파일을 사용하기 시작합니다. 명시 적 탐색 외에도 사용자가 명령 줄 인수로 열 파일을 지정할 수 있도록하고 싶습니다. QMainWindow (또는 어디서든)에서 응용 프로그램이 초기화를 완료하고 사용자 상호 작용 준비가 완료되었을 때이를 감지 할 수있는 이벤트를 찾고 있는데, 자동으로 파일을 열고 위젯을 채울 수 있습니다. 지금까지는 메인 윈도우가 여전히이 시점에서 보이지 않기 때문에 showEvent를 오버라이드하는 것보다 더 좋은 것을 찾을 수 없었습니다. 괜찮을지도 모르지만 나는 이것을 할 수있는 적절한 방법을 찾고 있습니다. 과거에 사용한 다른 UI 툴킷에서는 UI가 다루기에 안전하다는 신호를 보내는 "메인 폼 레이아웃 완료"이벤트와 같은 것입니다. QT4에서 비슷한 점이 있습니까? 그게 중요한 일이라면 나는 리눅스에서 이것을 돌리고있다.QT4 GUI에서 초기화 완료 이벤트

당신의 통찰력은 대단히 감사합니다.

답변

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_()) 
+0

대단원! 고마워요! – Leo