Как подключить отдельные файлы пользовательского интерфейса, созданные Qt Designer?

Я создал приложение с графическим интерфейсом в Python, используя PyQt5.

Сначала я создал файл пользовательского интерфейса в Qt Designer. Затем я преобразовал этот пользовательский файл в py-файл, используя pyuic4 -o demo.ui -x demo.py в терминале. После этого я изменяю py-файл для получения динамических значений из базы данных. Но когда у меня есть небольшие изменения в дизайне, я снова создаю файл пользовательского интерфейса и снова добавляю файл py и пишу код для базы данных.

Так что повторение одного и того же процесса занимает много времени. Есть ли какие-либо варианты для преобразования py-файла в ui-файл? Или какие-либо другие предложения?

2 ответа

Вы можете загрузить файл.ui в свой скрипт на python, используя следующую команду:

loadUi('demo.ui', self)

В папке с именем pyuic примеров pyqt есть несколько похожих примеров.

Вы никогда не должны изменять модули, сгенерированные pyuic, Они предназначены для статических модулей, которые импортируются в ваше основное приложение.

Модуль пользовательского интерфейса должен быть создан следующим образом:

pyuic5 -o mainwindwow.py mainwindow.ui

И основной файл приложения должен выглядеть так:

import sys
from PyQt5 import QtWidgets
from mainwindow import Ui_MainWindow

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.closeButton.clicked.connect(self.close)

if __name__ == '__main__':

    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

Дополнительную информацию можно найти в документации PyQt5 - см. Использование Qt Designer.

Другие вопросы по тегам