QT Desinger로 만든 ui파일을 파이썬에 연결하기 위해서는 2가지 방법이 있다.
첫번째로, 배포시에는 다음과 같이 ui파일을 py로 만들어주고, 메인 프로그램에서 직접 상속받아 사용한다. QT designer로 생성한 ui파일을 py로 바꿔주워야 하므로 다음 코드를 커맨드창에서 실행해준다.
design폴더안> pyside2-uic -x cafeWrite.ui -o cafeWrite.py
or
pyuic5 -x cafeWrite.ui -o cafeWrite.py
이후 메인 py에서 상속받아 처리한다
from PySide2 import QtCore, QtGui, QtWidgets
import design.cafeWrite
class MyWindow(design.cafeWrite.Ui_MainWindow, QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myWindow = MyWindow()
myWindow.show()
app.exec_()
이후 ui 디자인이 바뀌면 맨위의 과정을 다시 해주되, 시그널슬롯이 추가/수정했거나, 작성한 코드에서 수정할 것이 있다면 수정해주면 된다.
윈도우 프로그램용으로 배포시에는 다음 명령을 이용해 윈도우 기반 exe파일을 한 파일로 만들 수 있다.
pyinstaller --onefile --windowed --clean -p 메인프로그램명.py
두번째로, 개발시에는 편의성을 위해 다음과 같이 메인.py 안에서 ui파일을 인클루드해서 사용한다.
form_class = uic.loadUiType("ui name.ui")[0]
그다음 메인 클래스에서 상속받아서 처리한다.
def __init__(self):
super().__init__()
self.setupUi(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = MyWindow()
#dark 적용
os.environ['QT_API']="pyqt5"
dark_stylesheet = qdarkstyle.load_stylesheet_pyqt5()
app.setStyleSheet(dark_stylesheet)
myWindow.setWindowFlags(Qt.FramelessWindowHint | Qt.Window)
myWindow.show()
app.exec_()
'IT 인터넷 > python' 카테고리의 다른 글
[QT Desinger] qdarkstyle 과 framless 적용 후 드래그 기능넣기 (0) | 2018.12.15 |
---|