В процессе изучения PyQT5 возникло множество вопросов на которые я не могу найти понятного ответа.
Создал главную форму программы в QT Designer, сохранил как main.ui > прогнал через pyuic5 > получил ui.py.
Я создал второй файл, что бы при редактировании формы
ui не слетал мой код в ui.py, по этому для запуска главной формы и работы с ней я сделал второй файл main.py:
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from os import system as go
from os import getcwd as mainpath
from ui import Ui_MainWindow //здесь импотированна форма ui.py полученная через PyUIC5
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
main_path = "'{}'".format(str(mainpath())) # здесь я получаю путь к текущему файлу(запущеному)
path = "cd " + main_path + "/ui/ " # переход к папке /ui
def formstart():
go( path + "&& python3 add-account.py") # Запуск /ui/add-account.py через os.system
ui.pushButton.clicked.connect( formstart ) # при нажатии кнопки запускается другая форма
sys.exit(app.exec_())
Этот метод меня абсолютно не устраивает, таким методом основная форма полностью перестает отвечать, пока не закрою запущенную форму.
Подскажите пожалуйста, как было бы правильнее открывать дополнительные формы в PyQt5?