rishatss
@rishatss
Simple Developer ^)

Почему при компиляции и запуска кода ничего не выводит на экран?

Добрый день господа.
Лазаю тут в PyQT Designer и настряпал вещь.
Захотел перегнать это все в формат py.
Перегнал.
Пытаюсь запустить в PyCharm ничего не вижу. Ошибок тоже нету.
Python 2.7 PyQT4

Код:
# -*- coding: utf-8 -*-

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

from PyQt4 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_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(400, 300)
        self.dial = QtGui.QDial(Form)
        self.dial.setGeometry(QtCore.QRect(140, 100, 50, 64))
        self.dial.setObjectName(_fromUtf8("dial"))

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

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))

a289e00a.jpg
  • Вопрос задан
  • 635 просмотров
Решения вопроса 2
@abcd0x00
От этой формы потом надо наследоваться в своём приложении, чтобы оно приобрело вид этой формы. Саму её запускать не надо. Почитай какие-нибудь туториалы для начала.
Ответ написан
Комментировать
@Sergey6661313
Вообще как вы используете uic?
чтобы создать запускаемый фаил надо использовать ключ "-x"
например так:
pyuic4.bat -x other.ui -o other.py

и тогда к вашему коду будет добавлено что-то вроде:
if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    Form = QtGui.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())


Посмотрите на ваш код без куска выше - глазами транслятора:
1) импортируем что-то...
2) пробуем назначить переменную _fromUtf8 и метод для неё. Выделяем под них память
3) пробуем назначить переменную _encoding и метод для неё. Выделяем под них память
4) какой то непонятный класс Ui_Form - выделяем под него память
4.5) ага там ещё и 2 метода. Мы под них в памяти место выделим, а использовать потом будет если его конечно вызовут...
5) код кончился.
Эй программист! Код кончился, что мне делать дальше !?. А завершусь ка я...
Process finished...

Как ответил abcd0x00 вам необходимо либо наследовать эту форму, либо вызвать её.
Почитайте вводные курсы по pyqt например от Прохоренока Н.А. - самое начало:
для запуска pyqt приложений должно быть инициализировано PyQt4.QtGui.QApplication
затем инициировать все ваши формы и потом чтобы приложение вдруг не завершилось (потому что на этом код и кончится) выполнить QApplication.exec(), который заставить python интерпретатор бесконечно перерисовывать и обновлять состояние ваших форм.
Да-да именно так и работают все программы (не только на pyqt).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы