Создание программы и ive сделали систему входа, чтобы подключить пользователя к главному меню. Пока у меня есть работа, но не то, что мне нравится. Мой код запускает программу, но у меня возникают проблемы с именем == 'main': подпрограмма. Моя проблема очень похожа на Login dialog PyQtКак подключить мой вход pyqt к окну qstackedwidget в python
Вход выдержке
class Ui_Login(QtGui.QDialog):
def __init__(self):
QtGui.QDialog.__init__(self)
self.dbu = db.DatabaseUtility('UsernamePassword_DB', 'masterTable')
self.setupUi(self)
self.confirm = None
Mainwidget exceprt
class MainWidget(QWidget):
def __init__(self, parent=None):
super(MainWidget, self).__init__(parent)
self.stack = QStackedWidget()
layout = QVBoxLayout(self)
layout.addWidget(self.stack)
self.setGeometry(300, 300, 350, 250)
Проблема возникает, когда я получаю в разделе имени. если имя == «главный»:
import sys
app = QtGui.QApplication(sys.argv)
if Ui_Login().exec_() == QtGui.QDialog.Accepted:
sys.exit()
w = MainWidget()
w.show()
sys.exit()
Это если правильно имя пользователя и пароль введены, то главное окно показано на рисунке. Но форма входа в систему остается активной, и если я ее закрою, главное окно также закроется. Я также попробовал другой метод
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_Login()
ex.show()
sys.exit(app.exec_())
app = QApplication(sys.argv)
w = MainWidget()
w.show()
app.exec_()
sys.exit()
Это означало, что я бы войти в систему в обычном режиме, и главное окно будет придумать, однако, но кнопки не работает, так как не было подключения к другой форме. Таким образом, основной класс виджета не работал. я попробовал снова
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_Login()
w = MainWidget()
ex.show()
w.show()
sys.exit(app.exec_())
sys.exit()
app = QApplication(sys.argv)
Таким образом, это означало, что одновременно будут загружаться как диалоговое окно входа в систему, так и основное окно. Однако кнопка будет работать на главном окне. Однако он не был подключен к моей системе входа.
Итак, вопрос, как я могу объединить как систему входа, так и главный вход. Надеюсь, этот вопрос не был долгим и громоздким.