Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122

Как открыть уже созданное окно?

28.02.2020, 00:05. Показов 5446. Ответов 12

Студворк — интернет-сервис помощи студентам
Есть два окна, первое, форма авторизации, которая вызывает главное окно в случае пройденной авторизации. Как открыть уже созданное окно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.02.2020, 00:05
Ответы с готовыми решениями:

Добавление в уже созданное окно ListView
В общем, есть основная база данных, которая загружается с самого начала старта программы, все элементы из БД сразу отображаются в ListView....

Не получается открыть диалоговое окно, созданное в отдельном классе
Всем привет! Учусь программировать под андроид, еще почти ничего не понимаю. Пробую урок отсюда. Пытаюсь вызвать диалоговое окно по...

Как открыть новое окно и нем уже вывести нужные данные
Работаю в visual studio 2013. Вопрос следующий. Как открыть новое окно и нем уже вывести нужные данные...

12
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
28.02.2020, 00:28
Цитата Сообщение от NaxUK Посмотреть сообщение
Как открыть уже созданное окно?
В tkinter, если окно создается, то оно и показывается, поэтому есть вопрос, как вы его скрыли?
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
28.02.2020, 00:30  [ТС]
Главное окно создавалось отдельно от формы авторизации и лежит в папке проекта. Поэтому я и спрашиваю каким образом мне открыть не пустое созданное окно, а то, которое уже существует
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
28.02.2020, 00:35
Цитата Сообщение от NaxUK Посмотреть сообщение
Главное окно создавалось отдельно от формы авторизации и лежит в папке проекта.
Приведите упрощенный код
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
28.02.2020, 01:01  [ТС]
Мне необходим листинг для того, чтобы открыть другое окно, содержимое окна не играет роли ведь

Добавлено через 7 минут
Вообще можно ли так сделать, чтобы приложение содержало несколько разных файлов, которые вызываются просто с помощью функций?
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
28.02.2020, 01:16
Лучший ответ Сообщение было отмечено NaxUK как решение

Решение

Вот пример

Файл window.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from tkinter import Tk, Label, Button
 
class MyGUI:
    def __init__(self, master):
        self.master = master
        master.title("A simple GUI")
 
        self.label = Label(master, text="This is our first GUI!")
        self.label.pack()
 
        self.greet_button = Button(master, text="Greet", command=self.greet)
        self.greet_button.pack()
 
        self.close_button = Button(master, text="Close", command=master.destroy)
        self.close_button.pack()
 
    def greet(self):
        print("Greetings!")
Файл main.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
from tkinter import *
from window import MyGUI
 
root = Tk()
 
def callback():
    MyGUI(root)
 
b = Button(root, text="OK", width=35, command=callback)
b.pack()
 
mainloop()
1
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
29.02.2020, 00:53  [ТС]
Выручайте, пожалуйста, я запутался.


Python
1
2
3
4
5
6
7
# Файл,который запускается первым
def main():
    root.withdraw()
    MainWindow(root)
 
root = Tk()
btn = Button(text="Далее")
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Файл, который запускается вторым
from tkinter import *
 
 
class MainWindow:
    def __init__(self, master):
        self.master = master
        master.title("A simple GUI")
 
        self.label = Label(master, text="This is our first GUI!")
        self.label.pack()
 
root = Tk()
root.mainloop()
Как открывать именно первое окно? При таком коде сначала открывается второе окно, и открывается первое при закрытии . Чего я не понял?
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
29.02.2020, 01:12
Цитата Сообщение от NaxUK Посмотреть сообщение
Как открывать именно первое окно?
Поясните, что должно получится?
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
29.02.2020, 11:03  [ТС]
Должно получиться так, что первоначально запускается первый файл (первый листинг, где есть кнопка далее), после нажатия на кнопку необходимо, чтобы закрылось первое окно и открылось второе. Второе окно выступает как главное рабочее окно. А первое окно открывается как окно подтверждения личности.
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
29.02.2020, 12:11
Лучший ответ Сообщение было отмечено NaxUK как решение

Решение

Как-то так

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from tkinter import *
from window import MainWindow
# Файл,который запускается первым
 
def main():
    root.withdraw()
    MainWindow(root)
 
root = Tk()
btn = Button(text="Далее", command=main)
btn.pack()
 
root.mainloop()
Python
1
2
3
4
5
6
7
8
9
from tkinter import *
 
class MainWindow:
    def __init__(self, master):
        self.master = Toplevel(master)
        self.master.title("A simple GUI")
 
        self.label = Label(self.master, text="This is our first GUI!")
        self.label.pack()
1
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
29.02.2020, 12:46  [ТС]
И тогда все виджеты интерфейса нужно размещать в классу MainWindow?
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
29.02.2020, 13:12
Цитата Сообщение от NaxUK Посмотреть сообщение
И тогда все виджеты интерфейса нужно размещать в классу MainWindow?
Да, вот тут продолжать

Python
1
2
3
4
5
6
def __init__(self, master):
        self.master = Toplevel(master)
        self.master.title("A simple GUI")
 
        self.label = Label(self.master, text="This is our first GUI!")
        self.label.pack()
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
29.02.2020, 13:15  [ТС]
Спасибо, разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.02.2020, 13:15
Помогаю со студенческими работами здесь

не нашел FAQ. и как править свое уже созданное сообщение
Не нашел FAQ (помогите найти). И как править свое уже созданное сообщение?

Как добавить вновь созданное поле в уже готовую форму?
Подскажите пожалуйста возможен ли (и как это сделать) ввод нового поля в уже созданную форму. Т.е. в таблице добавила новое поле для...

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

Как можно с помощью стрелок передвигать созданное окно в модуле Crt?
Подскажите как можно с помощью стрелок передвигать созданное окно в модуле Crt. Спасибо!

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru