"""#!C:\Python34\python.exe"""
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
# 아래 명령으로 생성된 클래스들
# pyuic5 *.ui -o *_ui.pyw
from mainwindow_ui import *
from dialog_ui import *
from widget_ui import *
class WindowMain(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow() # mainwindow_ui.pyw
self.ui.setupUi(self)
""" 위의 표현이 맞는거 같다. (아래 코드도 동작을 하긴 하는데...)
def __init__(self):
super(WindowMain,self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
def __init__(self, parent=None):
super()__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
"""
class DialogMain(QDialog):
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.ui = Ui_Dialog() # dialog_ui.pyw
self.ui.setupUi(self)
class FormMain(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.ui = Ui_Form() # widget_ui.pyw
self.ui.setupUi(self)
if __name__ == "__main__":
app = QApplication( sys.argv )
mainWin = WindowMain()
mainWin = DialogMain()
mainWin = FormMain()
mainWin.show()
app.exec_()
%%%
Qt Designer 에서 Dialog로 만든 UI는 반드시 QDialog를 상속받은 클래스에서 사용되어야 한다.
그렇지 않으면 Layout 관련되어 문제가 발생 엉뚱한 화면을 만들어 낸다.