pyqt, qt designer .show ();не могу понять, как показать мой графический интерфейс - PullRequest
0 голосов
/ 12 июня 2018

до точки:

Я начинаю изучать pyqt и использую pyqt4 через qt desiger.Мне удалось создать тестовый проект и экспортировать его в файл .py.К сожалению, когда я запускаю скрипт, ничего не появляется, я думаю, это потому, что скрипт не имеет команды .show(), поэтому все «печатает» в памяти, но никогда не отображается.К сожалению, я не могу понять, где я должен поместить это, чтобы заставить вещи работать.

Код:

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


import sys
from PyQt4 import QtCore, QtGui

app = QtGui.QApplication(sys.argv)

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s


try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(576, 431)
        MainWindow.setAccessibleName(_fromUtf8(""))



        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setAccessibleName(_fromUtf8(""))
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))


        self.rAgent = QtGui.QRadioButton(self.centralwidget)
        self.rAgent.setGeometry(QtCore.QRect(20, 40, 114, 22))
        self.rAgent.setAccessibleName(_fromUtf8(""))
        self.rAgent.setObjectName(_fromUtf8("rAgent"))

        self.rDomek = QtGui.QRadioButton(self.centralwidget)
        self.rDomek.setGeometry(QtCore.QRect(100, 40, 114, 22))
        self.rDomek.setAccessibleName(_fromUtf8(""))
        self.rDomek.setObjectName(_fromUtf8("rDomek"))

        self.rWilk = QtGui.QRadioButton(self.centralwidget)
        self.rWilk.setGeometry(QtCore.QRect(220, 40, 114, 22))
        self.rWilk.setAccessibleName(_fromUtf8(""))
        self.rWilk.setObjectName(_fromUtf8("rWilk"))

        self.r4 = QtGui.QRadioButton(self.centralwidget)
        self.r4.setGeometry(QtCore.QRect(330, 40, 114, 22))
        self.r4.setAccessibleName(_fromUtf8(""))
        self.r4.setObjectName(_fromUtf8("r4"))

        self.r5 = QtGui.QRadioButton(self.centralwidget)
        self.r5.setGeometry(QtCore.QRect(450, 40, 114, 22))
        self.r5.setAccessibleName(_fromUtf8(""))
        self.r5.setObjectName(_fromUtf8("r5"))





        self.lScenario = QtGui.QLabel(self.centralwidget)
        self.lScenario.setGeometry(QtCore.QRect(20, 10, 231, 17))
        self.lScenario.setAccessibleName(_fromUtf8(""))
        self.lScenario.setObjectName(_fromUtf8("lScenario"))


        self.tCzas = QtGui.QLineEdit(self.centralwidget)
        self.tCzas.setGeometry(QtCore.QRect(20, 100, 41, 29))
        self.tCzas.setAccessibleName(_fromUtf8(""))
        self.tCzas.setText(_fromUtf8(""))
        self.tCzas.setObjectName(_fromUtf8("tCzas"))
        self.tID = QtGui.QLineEdit(self.centralwidget)
        self.tID.setGeometry(QtCore.QRect(90, 100, 113, 29))
        self.tID.setAccessibleName(_fromUtf8(""))
        self.tID.setInputMethodHints(QtCore.Qt.ImhDigitsOnly|QtCore.Qt.ImhFormattedNumbersOnly)
        self.tID.setText(_fromUtf8(""))
        self.tID.setObjectName(_fromUtf8("tID"))
        self.tTeam = QtGui.QLineEdit(self.centralwidget)
        self.tTeam.setGeometry(QtCore.QRect(230, 100, 171, 29))
        self.tTeam.setAccessibleName(_fromUtf8(""))
        self.tTeam.setText(_fromUtf8(""))
        self.tTeam.setObjectName(_fromUtf8("tTeam"))
        self.cFacebook = QtGui.QCheckBox(self.centralwidget)
        self.cFacebook.setGeometry(QtCore.QRect(50, 190, 95, 22))
        self.cFacebook.setAccessibleName(_fromUtf8(""))
        self.cFacebook.setObjectName(_fromUtf8("cFacebook"))
        self.buttonBox = QtGui.QDialogButtonBox(self.centralwidget)
        self.buttonBox.setGeometry(QtCore.QRect(370, 380, 176, 27))
        self.buttonBox.setAccessibleName(_fromUtf8(""))
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.cMail = QtGui.QCheckBox(self.centralwidget)
        self.cMail.setGeometry(QtCore.QRect(50, 230, 95, 22))
        self.cMail.setAccessibleName(_fromUtf8(""))
        self.cMail.setObjectName(_fromUtf8("cMail"))
        self.tMail = QtGui.QPlainTextEdit(self.centralwidget)
        self.tMail.setGeometry(QtCore.QRect(50, 270, 451, 75))
        self.tMail.setAccessibleName(_fromUtf8(""))
        self.tMail.setInputMethodHints(QtCore.Qt.ImhNone)
        self.tMail.setPlainText(_fromUtf8(""))
        self.tMail.setOverwriteMode(False)
        self.tMail.setObjectName(_fromUtf8("tMail"))
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusBar = QtGui.QStatusBar(MainWindow)
        self.statusBar.setAccessibleName(_fromUtf8(""))
        self.statusBar.setObjectName(_fromUtf8("statusBar"))
        MainWindow.setStatusBar(self.statusBar)

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

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
        self.rAgent.setText(_translate("MainWindow", "Agent", None))
        self.rDomek.setText(_translate("MainWindow", "Dom w lesie", None))
        self.lScenario.setText(_translate("MainWindow", "Wybierz Scenariusz:", None))
        self.rWilk.setText(_translate("MainWindow", "Biały Wilk", None))
        self.r4.setText(_translate("MainWindow", "Scenario #4", None))
        self.r5.setText(_translate("MainWindow", "Scenario #5", None))
        self.cFacebook.setText(_translate("MainWindow", "facebook", None))
        self.cMail.setText(_translate("MainWindow", "mail", None))




#if rAgent.isChecked():
#    print (buttonname + "checked")

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Вы сможете добавить это к своему классу:

class Ui_MainWindow(object):
    def __init__(self):
        self.setupUi()
        self.show()

Это будет вызвано, когда класс будет инициализирован в приведенном ниже утверждении.Этот код должен идти ниже всего вашего кода.

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = Ui_MainWindow()
    sys.exit(app.exec_())

Он будет вызываться автоматически при выполнении сценария.

0 голосов
/ 12 июня 2018

Если вы хотите использовать файл Qt Designer, который вы экспортировали как файл python, вы должны импортировать этот файл, затем вы можете использовать его следующим образом:

from yourfilename import Ui_MainWindow

ui = Ui_MainWindow()
ui.setupUi()  # needed to setup the ui you defined in the designer
ui.show()

Вы также можете расширить класс Ui_MainWindowс вашим собственным подклассом.В этом случае вам нужно будет вызвать что-то вроде self.setupUi(self).

...