Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для DjonyCooper
10 / 7 / 4
Регистрация: 28.05.2021
Сообщений: 136
PyQt5

Реверсивное движение между основным и вспомогательным окном

23.01.2022, 21:09. Показов 978. Ответов 3

Студворк — интернет-сервис помощи студентам
Всем привет, есть 2 окна:

main.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from registration import *
 
class main(QWidget):
    def __init__(self):
        super(main, self).__init__()
        self.setWindowTitle('test • windows main')
        self.setFixedSize(300, 200)
        self._labelline1()
        self._button1()
        self._button2()
 
    def _labelline1(self):
        label = QLabel(self)
        label.setText("TEST • MAIN")
        label.setFont(QFont('Century', 30, QFont.Bold))
        return label
 
    def _button1(self):
        self.b1 = QPushButton("Программа", self)
        self.b1.setGeometry(10, 100, 130, 50)
 
 
    def _button2(self):
        self.b2 = QPushButton("Регистрация", self)
        self.b2.setGeometry(150, 100, 130, 50)
 
        self.b2.clicked.connect(self.regopen)
 
    def regopen(self):
        self.regopen = registration()
        self.regopen.show()
        self.close()
 
if __name__ == ('__main__'):
    import sys
    app = QApplication(sys.argv)
    w = main()
    w.show()
    sys.exit(app.exec_())
registration.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton
from PyQt5.QtGui import QFont
 
class registration(QWidget):
    def __init__(self):
        super(registration, self).__init__()
        self.setWindowTitle('test • registration')
        self.setFixedSize(300, 200)
        self._labelline1()
        self._button1()
 
    def _labelline1(self):
        label = QLabel(self)
        label.setText("Registration")
        label.setFont(QFont('Century', 30, QFont.Bold))
        return label
 
    def _button1(self):
        self.b1 = QPushButton("Назад", self)
        self.b1.setGeometry(85, 100, 130, 50)
 
        self.b1.clicked.connect(self.backmain)
 
    def backmain(self):
        self.backmain = main()
        self.backmain.show()
 
if __name__ == ('__main__'):
    import sys
    app = QApplication(sys.argv)
    w = registration()
    w.show()
    sys.exit(app.exec_())
Нужно реализовать возможность возврата на основное окно. Т.е. из Main.py по нажатию на кнопку Регистрация, отрыть вспомогательное окно можно, а по клику назад вернуться обратно не выходит. Как можно реализовать? Не объединяя 2 кода. Обязательно нужно сохранить автономность модулей, я могу их только импортировать в основной файл.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2022, 21:09
Ответы с готовыми решениями:

Как переключаться между окном игры и окном браузера, или скайпа, или т. п.?
Как переключаться между окнами игры и браузера/скайпа/итд? Включен оконный режим игры, курсор не выходит за его пределы. Чтобы...

Общение между основным и дочерним процессом
Делаю интерфейс на C++CLI отдельно от основной логики, которая написана на C++ и является консольным приложением. Запускаю из CLI с...

Обмен данными между основным формой и usercontrol
Добрый день, создал проект не хотел загружать основную форму и создал usercontrol туда поставил грид. Добавил грид в основную форму но не...

3
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
24.01.2022, 00:34
Так что ли?
Python
1
2
3
4
5
6
7
8
    def _button1(self):
        self.b1 = QPushButton("Назад", self)
        self.b1.setGeometry(85, 100, 130, 50)
 
        if __name__ == ('__main__'):
            self.b1.clicked.connect(self.backmain)
        else:
            self.b1.clicked.connect(self.close)
1
 Аватар для DjonyCooper
10 / 7 / 4
Регистрация: 28.05.2021
Сообщений: 136
24.01.2022, 19:19  [ТС]
Цитата Сообщение от iamvic Посмотреть сообщение
Так что ли?
P
Так не открывает же основную форму?

0
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
24.01.2022, 19:59
Лучший ответ Сообщение было отмечено DjonyCooper как решение

Решение

Видимо, неправильно Вас понял

А если так:
Python
1
2
3
4
5
6
7
8
9
10
    def _button1(self):
        self.b1 = QPushButton("Назад", self)
        self.b1.setGeometry(85, 100, 130, 50)
 
        self.b1.clicked.connect(self.backmain)
 
    def backmain(self):
        from main import main
        self.backmain = main()
        self.backmain.show()
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2022, 19:59
Помогаю со студенческими работами здесь

Перенаправление заявок между основным и запасным каналами
Как сделать, чтобы при одном условии заявки обслуживались по одному, а при втором совершенно по другому. Я делаю меткой, но ему не...

Ошибка InfoPath со связью между основным и подчинёнными полями
В приложении есть форма InfoPath. Подскажите пожалуйста, как сделать, чтобы в полях формы отображались сведения из таблицы "Лица"...

Как убрать расстояние между основным меню и выпадающими из него пунктами?
Как убрать расстояние : http://s019.***********/i639/1304/05/605c9c3f9f5b.png При наведении на пункт меню выпадают под пункты , но между...

GridBagLayout и GridLayout - промежутки между кнопками, и между кнопками и окном программы
Новичок, ногами не бейте. Иду по учебнику - сделал калькулятор с помощью GridLayout. Работает вроде норм, но не нравится - откровенно...

Правильный переход между окном и диалогом
В общем код ниже.. Есть диаолг и MainWindow (Созданны отдельным файлом).. Переход от окна к диалогу производится через кнопку Enter, как бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru