Второй мой вопрос по этой же теме, только в
предыдущем был проект на tkinter, а теперь я решил попробовать сделать дизайн через PySide, т.к. быстрее и удобнее наверно, но столкнулся с той же проблемой вызова по кнопке, когда по нажатию кнопки окно должно открывается без проблем, если закрыть окно и снова нажать кнопку, то оно также должно открывается без проблем.
Теперь у меня 4 файла: Author.py и Options.py, и файлы форм AuthorForm.py и OptionsForm.py. Author.py буду использовать как исполняемый файл проекта.
1) Как вызвать файл по кнопке, чтобы открывать/закрывать постоянно, а не 1 раз? Код, который работал для tkinter, в этом случае не работает.
Прикрепляю код: Author.py:
from PyQt5 import QtWidgets
from AuthorForm import Ui_Form
import sys
#import Options
class AuthorForm(QtWidgets.QMainWindow):
def __init__(self):
super(AuthorForm, self).__init__()
self.ui = Ui_Form()
self.ui.setupUi(self)
#кнопка для вызова функции под вопросом 2
self.ui.auth_btn.clicked.connect(self.Opt_bnt)
def Opt_btn(self):
#import Options
#Options.OptionsForm()
app = QtWidgets.QApplication([])
application = AuthorForm()
application.show()
sys.exit(app.exec())
Код Options.py:
from PyQt5 import QtWidgets
from OptionsForm import Ui_Form
import sys
class OptionsForm(QtWidgets.QMainWindow):
def __init__(self):
super(OptionsForm, self).__init__()
self.ui = Ui_Form()
self.ui.setupUi(self)
app = QtWidgets.QApplication([])
application = OptionsForm()
application.show()
sys.exit(app.exec())
2) Как мне вызвать окно Options без ошибок(включая вопрос 1)?
Когда нажимаю кнопку(используя импорт и вызов класса внутри функции Opt_btn), то программа закрывается с ошибкой(если не комментировать последнюю строку в Options.py):
QCoreApplication::exec: The event loop is already running
А если строку убрать, то окно открывается, но снова запустить его не получается.