2017-04-18 5 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 Designerは、インタフェース設計に役立つツールである、pyuic.ui(デザイン)、それを使用するためにあなたがPyQtクラスに追加する必要があり、Pythonコードにファイルを変換し、これはで、あなたが作った設計に依存しますあなたのケースでは、クラスは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

本当にありがとうございました! –

関連する問題