2017-04-18 27 views
1

我目前是學習python並試圖用Qt Designer創建應用程序的初學者。在我使用pyuic將.ui文件轉換爲.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 Designer是一個工具,它提供的接口設計,pyuic轉換.ui(設計)文件Python代碼,爲了使用它,你必須將它添加到PyQt類,這取決於你所做的設計,你的情況,該類將是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

非常感謝你的工作完美! –