Как подключить отдельные файлы пользовательского интерфейса, созданные 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.