Как реализовать переход с Виджета в Главное окно программы QT Designer Python?

Ссылка скопирована
C# Qt
1 ответ

Сделал реализацию авторизации, но когда нажимаю на кнопку "Войти" то не отрывается главное окно формы. До этого пробовал сделать что есть 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", "Пароль"))

Дополнительно:

А где у вас код открытия главного окна?

  • Александр Ананьев, всё, я смог решить эту проблему) Спасибо за ответ)
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Алексей Денисов Ответ

    Для реализации перехода с виджета на главное окно программы в 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_()

    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_()

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно