paulenot
@paulenot
Статус пользователя - чайник

Как запустить .py по нажатию кнопки другой программы .py написанной на PyQT5?

В процессе изучения PyQT5 возникло множество вопросов на которые я не могу найти понятного ответа.
Создал главную форму программы в QT Designer, сохранил как main.ui > прогнал через pyuic > получил ui.py.

Я создал второй файл, что бы при преобразовании формы 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 

app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
main_path =   "'{}'".format(str(mainpath()))

def addacc():
	go("cd " + main_path + "/ui/ && python3 add-account.py") # вот такой дикий костыль

ui.pushButton.clicked.connect( addacc ) # при нажатии кнопки запускается функция addacc

sys.exit(app.exec_())

Этот метод меня абсолютно не устраивает, хоть и рабочий, при запуске таким методом другого файла основная форма полностью перестает отвечать, пока не закрою открывшуюся форму.

Суть вопроса:
  • Какой самый простой способ вызвать форму *.py
  • Как запускать *.py из вложенной папки?
  • Как лучше всего создавать функцию запуска другой программы python? я на питоне пишу всего месяц, и не могу понять, как правильно запускать QT формы без подвисаний предыдущей формы. Если вы можете посоветовать качественный материал для чайников, то буду очень благодарен.
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
25 авг. 2019, в 22:35
1000 руб./за проект
25 авг. 2019, в 22:10
3000 руб./за проект
25 авг. 2019, в 21:50
6000 руб./за проект