Как реализовать переход с Виджета в Главное окно программы QT Designer Python?
Сделал реализацию авторизации, но когда нажимаю на кнопку "Войти" то не отрывается главное окно формы. До этого пробовал сделать что есть Main окно и оно открывает Main окно, но тогда кнопки перестают работать. Сейчас пробую первую вызвать Виджет и открыть Main, но ничего...
Запускаю окно виджета( авторизации)
Main.py
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Form = QtWidgets.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() sys.exit(app.exec_()) |
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Form = QtWidgets.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() sys.exit(app.exec_())
class Form()
class Form() class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.lineEdit = QtWidgets.QLineEdit(Form) self.lineEdit.setGeometry(QtCore.QRect(130, 50, 113, 22)) self.lineEdit.setObjectName("lineEdit") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(140, 190, 93, 28)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(140, 150, 93, 28)) self.pushButton.setObjectName("pushButton") self.lineEdit_2 = QtWidgets.QLineEdit(Form) self.lineEdit_2.setGeometry(QtCore.QRect(130, 100, 113, 22)) self.lineEdit_2.setObjectName("lineEdit_2") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) self.aut() def aut(self): self.pushButton.clicked.connect(self.Autor) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.lineEdit.setPlaceholderText(_translate("Form", "Логин")) self.pushButton_2.setText(_translate("Form", "Выход")) self.pushButton.setText(_translate("Form", "Войти")) self.lineEdit_2.setPlaceholderText(_translate("Form", "Пароль")) |
class Form() class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.lineEdit = QtWidgets.QLineEdit(Form) self.lineEdit.setGeometry(QtCore.QRect(130, 50, 113, 22)) self.lineEdit.setObjectName("lineEdit") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(140, 190, 93, 28)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(140, 150, 93, 28)) self.pushButton.setObjectName("pushButton") self.lineEdit_2 = QtWidgets.QLineEdit(Form) self.lineEdit_2.setGeometry(QtCore.QRect(130, 100, 113, 22)) self.lineEdit_2.setObjectName("lineEdit_2") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) self.aut() def aut(self): self.pushButton.clicked.connect(self.Autor) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.lineEdit.setPlaceholderText(_translate("Form", "Логин")) self.pushButton_2.setText(_translate("Form", "Выход")) self.pushButton.setText(_translate("Form", "Войти")) self.lineEdit_2.setPlaceholderText(_translate("Form", "Пароль"))
Дополнительно:
А где у вас код открытия главного окна?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для реализации перехода с виджета на главное окно программы в Qt Designer с использованием Python, вам потребуется выполнить следующие шаги:
1. Создайте главное окно программы в Qt Designer. Для этого добавьте виджеты и настройте их расположение и внешний вид.
2. Добавьте кнопку на виджет, которая будет инициировать переход на главное окно программы. Для этого откройте редактор свойств кнопки и настройте сигнал, который будет связан с функцией перехода.
3. Создайте функцию для перехода на главное окно программы. В этой функции необходимо скрыть текущий виджет и показать главное окно программы. Для этого вы можете использовать методы hide() и show() для виджетов.
4. Свяжите сигнал кнопки с функцией перехода на главное окно программы. Для этого используйте методы connect() для установления соединения между сигналом и слотом.
Пример кода на Python для реализации перехода с виджета на главное окно программы в Qt Designer:
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton class MainWindow(QMainWindow): def __init__(self): super().__init__() self.widget = QWidget(self) self.setCentralWidget(self.widget) self.button = QPushButton('Перейти на главное окно', self.widget) self.button.clicked.connect(self.show_main_window) self.main_window = QWidget(self) self.main_window.hide() def show_main_window(self): self.widget.hide() self.main_window.show() if __name__ == '__main__': app = QApplication([]) window = MainWindow() window.show() app.exec_()
Этот код создаст главное окно программы с кнопкой, которая при нажатии скроет виджет и покажет главное окно. Вы можете настроить внешний вид и функционал кнопки и главного окна в соответствии с вашими потребностями.