Уведомления

Группа в Telegram: @pythonsu

#1 Июль 2, 2018 08:26:21

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

Есть главное окно(main.py), по кнопке должно открываться другое окно в модальном режиме(win.py).

Т.е. для каждого окна свой скрипт

Как это реализовать в библиотеке Tkinter?

Если можно пример, я начинающий

Офлайн

#2 Июль 2, 2018 17:36:48

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

http://www.russianlutheran.org/python/nardo/nardo.html



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Июль 3, 2018 07:54:39

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

Вопрос был немного в другом как для удобства разделить код(на 2 файла с расширением py)

Первый файл главное окно.
Второй файл вызываемое окно

Отредактировано dbalor (Июль 3, 2018 07:55:15)

Офлайн

#4 Июль 3, 2018 10:55:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

dbalor
Вопрос был немного в другом как для удобства разделить код(на 2 файла с расширением py)
читайте по ссылке выше, можно начинать со слов “Святой Грааль” там все описано. Там раделено даже на три файла.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 3, 2018 10:56:28)

Офлайн

#5 Июль 4, 2018 02:35:34

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

Да это работает, но почему-то разделяется на два потока(на панели задач две иконки), а в одном потоке никака?

P.S. извините за терминологию может в ней я ошибаюсь, просто описал своими словами.

Офлайн

#6 Июль 4, 2018 12:31:52

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

dbalor
P.S. извините за терминологию может в ней я ошибаюсь, просто описал своими словами.
Да, это не два потока, просто каждое окно имеет свою иконку на панели задач, это нормально. Насколько я знаю у ткинтера нет штатного функционала , чтобы убрать окно с панели задач, при этом чтобы окно оставалось видимым.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 4, 2018 12:32:27)

Офлайн

#7 Июль 5, 2018 06:21:11

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

Спасибо, теперь понятно, но возник вопросик:

когда код не был разделен окошко по кнопке открывалось в модальном режиме, теперь же код не работает:

 ...
top.grab_set()
top.focus_set()
top.wait_window()
...

Офлайн

#8 Июль 5, 2018 12:05:25

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

dbalor
когда код не был разделен окошко по кнопке открывалось в модальном режиме, теперь же код не работает:
выложите минимальный рабочий код когда было не разделено, и как стало, так как на словах весьма трудно понять в чем причина.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#9 Июль 5, 2018 16:28:50

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

Вызов окна(в классе):

 ...
self.dtch=dtch(self.master)
...

инициализация вызываемого окна(класс)
 ...
self.win=Toplevel(master)
...
self.win.grab_set()
self.win.focus_set()
self.win.wait_window()
...
До этого различие - это было в одном скрипте и не было никаких классов

Офлайн

#10 Июль 5, 2018 18:06:59

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Многооконное приложение Tk

dbalor нужен минимально рабочий код котороый можно запустить у себя, и повторить проблему.
потому как из ваших обьъяснение непонятно, что и как вы вызываете.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version