2017-04-18 7 views
1

저는 현재 Python을 배우고 Qt Designer로 응용 프로그램을 만드는 초보자입니다. 모든 튜토리얼에서 저는 .u 파일을 pyuic을 사용하여 .py로 변환 한 후에 새로운 .py를 클릭하기 만하면 디자이너에서 만든 것을 표시합니다. pyuic을 사용하여 변환하고 아무 것도 클릭하지 않으면 아무 일도 일어나지 않습니다. 나는 샘플 Qt 프로젝트를 만들어서 잘못된 것이 무엇인지 이해하려고 노력했다. 아래에 첨부되어있다.내 pyuic로 변환 된 파일이 열리지 않습니다

# -*- coding: utf-8 -*- 

# Form implementation generated from reading ui file 't.ui' 
# 
# Created by: PyQt5 UI code generator 5.8.2 # 
# WARNING! All changes made in this file will be lost! 

from PyQt5 import QtCore, QtGui, QtWidgets 

class Ui_MainWindow(object): 
def setupUi(self, MainWindow): 
    MainWindow.setObjectName("MainWindow") 
    MainWindow.resize(800, 600) 
    self.centralwidget = QtWidgets.QWidget(MainWindow) 
    self.centralwidget.setObjectName("centralwidget") 
    self.label = QtWidgets.QLabel(self.centralwidget) 
    self.label.setGeometry(QtCore.QRect(180, 450, 68, 19)) 
    self.label.setObjectName("label") 
    self.label_2 = QtWidgets.QLabel(self.centralwidget) 
    self.label_2.setGeometry(QtCore.QRect(230, 400, 68, 19)) 
    self.label_2.setObjectName("label_2") 
    self.label_3 = QtWidgets.QLabel(self.centralwidget) 
    self.label_3.setGeometry(QtCore.QRect(540, 190, 68, 19)) 
    self.label_3.setObjectName("label_3") 
    self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) 
    self.lineEdit.setGeometry(QtCore.QRect(500, 430, 171, 41)) 
    self.lineEdit.setObjectName("lineEdit") 
    MainWindow.setCentralWidget(self.centralwidget) 
    self.statusbar = QtWidgets.QStatusBar(MainWindow) 
    self.statusbar.setObjectName("statusbar") 
    MainWindow.setStatusBar(self.statusbar) 

    self.retranslateUi(MainWindow) 
    QtCore.QMetaObject.connectSlotsByName(MainWindow) 

def retranslateUi(self, MainWindow): 
    _translate = QtCore.QCoreApplication.translate 
    MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) 
    self.label.setText(_translate("MainWindow", "TextLabel")) 
    self.label_2.setText(_translate("MainWindow", "TextLabel")) 
    self.label_3.setText(_translate("MainWindow", "TextLabel")) 

도움을 주시면 감사하겠습니다.

답변

1

Qt는 디자이너가 pyuic 당신이 PyQt 클래스에 추가해야합니다 그것을 사용하기 위해, 파이썬 코드 파일 .ui (디자인) 변환, 인터페이스 디자인을 제공하는 도구이며,이에, 당신이 만든 디자인에 따라 달라집니다 클래스가 QMainWindow이거나 클래스를 상속받는 클래스 일 수 있습니다. 방법 중 일부는 다음과 같습니다

  • 해결 방법 1

if __name__ == "__main__": 
    import sys 
    app = QtWidgets.QApplication(sys.argv) 
    w = QtWidgets.QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(w) 
    w.show() 
    sys.exit(app.exec_()) 
  • 해결 방법 2

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): 
    def __init__(self, parent=None): 
     super(MainWindow, self).__init__(parent=parent) 
     self.setupUi(self) 


if __name__ == "__main__": 
    import sys 
    app = QtWidgets.QApplication(sys.argv) 
    w = MainWindow() 
    w.show() 
    sys.exit(app.exec_()) 

팁 : .py 파일에 솔루션을 추가하십시오.

+0

완벽하게 작동 해 주셔서 감사합니다. –