2012-07-25 3 views
0

이전에 Pyqt를 사용하여 GUI를 만들었습니다. 나는 리눅스에서 터미널의 모든 코딩 작업을 수행했다. 이제 Pyqt에서 큰 프로젝트를 만들 예정입니다.
코딩 부분을 극복하는 데 도움이 될 sdk가 있습니까? 그래서 항목을 끌어다 놓을 수 있습니까? 저는 qt 디자이너에 대해 알고 있습니다 만, 어떻게 작성하고 파이썬과 통합해야하는지 모르겠습니다.GUI 프로그래밍 Pyqt

이 용도로 사용할 프로그램에 대한 제안 사항이 있으십니까? pyside 사용 pyside-uic

를 사용하는 경우 사용 pyqt4는 이러한 파이썬 파일로 QTDesigner의 출력을 컴파일 pyuic4

를 사용하는 경우

답변

3

Qt는 디자이너 신호, 친구를 정의 반대로 PyQt4는 일반적으로 만 배치 공정에 사용되는 결합 할 때, 위젯의 시각적 레이아웃을 수행하고 .ui 파일을 저장합니다.

pyuic4을 사용하면 .ui ->.py을 컴파일하고 코드화 된 프로젝트로 가져올 수 있습니다.

현재 UI를 사용하는 데는 3 가지 방법이 있지만 일반적으로 다중 상속이 있습니다. MyMainWindow 클래스가 QMainWindow가 될 예정이면 QMainWindow와 UI 클래스에서 클래스를 상속받습니다. 이 같은

뭔가 ...

pyuic4 myMainWindow.ui -o myMainWindowUI.py 

main.py

from PyQt4 import QtGui 
from myMainWindowUI import Ui_MainWindow 

class MyMainWindow(QtGui.QMainWindow, Ui_MainWindow): 

    def __init__(self, *args, **kwargs) 
     super(MyMainWindow, self).__init__(*args, **kwargs) 
     self.setupUi(self) 

setupUi 방법은 클래스에 전체 UI 디자인을 적용하고 이제 모든 위젯에 액세스 할 수 있습니다 객체 이름으로 디자인되었습니다.

win = MyMainWindow() 
print win.listWidget 
print win.button1 
win.show() 
+0

안녕하세요, 다른 창에 다른 수업이 있다고합시다. UI_MainWindow 파일의 위젯에 어떻게 액세스합니까? – dnth

+0

@dnth 두 번째 창 클래스가 있다는 것을 의미합니까? 다른 창 인스턴스가 있으면 다른 클래스의 위젯에 직접 액세스하면 안됩니다. 더 자세하게 얘기해 주 시겠어요? – jdi

+0

나는이 질문을하기로 작정했다. http://stackoverflow.com/questions/33056555/how-to-organize-classes-in-pyqt-gui-programming – dnth