Задать вопрос
@stepar

Как запустить ui сконвертированный в py?

Я создал интерфейс программы в Qt Designer и сконвертировал полученный ui-файл в py-файл. Как теперь запустить программу? Если просто открываю, то ничего нет.
# -*- coding: utf-8 -*-

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

from PyQt5 import QtCore, QtGui

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(800, 600)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.pushButton = QtGui.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(160, 120, 181, 61))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(190, 260, 151, 91))
        self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
        self.menubar.setObjectName(_fromUtf8("menubar"))
        self.menuMyProgramm = QtGui.QMenu(self.menubar)
        self.menuMyProgramm.setObjectName(_fromUtf8("menuMyProgramm"))
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.menubar.addAction(self.menuMyProgramm.menuAction())

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

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
        self.pushButton.setText(_translate("MainWindow", "Создать программу", None))
        self.pushButton_2.setText(_translate("MainWindow", "Записать", None))
        self.menuMyProgramm.setTitle(_translate("MainWindow", "MyProgramm", None))
  • Вопрос задан
  • 986 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
InterVi
@InterVi
Fullstack Developer
Ну так нужна точка входа. Вот, правь:

импорты
import sys
from PyQt5 import QtCore, QtGui, QtWidgets


главный класс
class Ui_MainWindow(QtWidgets.QMainWindow):

сама точка входа (в конце скрипта)
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    main_win = Ui_MainWindow()
    main_win.show()
    app.exec()

Но помни, что это - говнокод. Лучше переписывать ручками или подгружать *.ui файлы. Наследование от object в 3 питоне, трансляция... блин, это такая дичь, без слёз смотреть нельзя.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы