Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запретить сворачивать окно верхнего уровня? Tkinter 
:(
    Опции темы
Young
Дата 21.9.2005, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 9.9.2005

Репутация: 2
Всего: 2



Как убрать кнопку с символом подчёркивания у окна Toplevel? В книжках примеров таких вроде нет, посмотрел Tkinter.py - тоже такого метода не увидел...
PM MAIL WWW   Вверх
Young
Дата 22.9.2005, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 9.9.2005

Репутация: 2
Всего: 2



Нашёл такой метод:
Код
from Tkinter import *
root = Tk()
AskWnd = Toplevel()
Legend = Label(AskWnd, text = unicode("Модальный диалог", "CP1251"))
Legend.pack()
AskWnd.transient(root) # ВОТ ЭТОТ ВЫЗОВ И ДЕЛАЕТ ОКНО "ДИАЛОГОВЫМ"
AskWnd.maxsize(200,70)
AskWnd.minsize(200,70)
AskWnd.focus_set()
AskWnd.grab_set()
AskWnd.wait_window()
root.mainloop()
Однако, системное меню окна присутствует, и в нём есть дурацкая команда "Size", которая работать, естественно, не будет, т.к. maxsize() и minsize() заданы одинаково (аналогично, вводит в заблуждение и курсор мыши, который на границах окна принимает форму стрелок, но изменить размер окна всё равно не даёт).

Красивее сделать не получилось, т.к. если использовать метод AskWnd.resizable(...), чтобы запретить изменение размеров окна вообще, всё получается ещё хуже: в этом случае в системном меню с какой-то радости появляется команда "Minimize", которая работать будет, но с необратимыми последствиями: свёрнутое окно развернуть обратно не получится smile.

Кстати, вызовы askstring() и подобные из модуля tkSimpleDialog реализованы кривовато: у диалоговых окон пользователь может менять размер, уродуя их внешний вид, и нельзя заменить дурацкую стандартную иконку.

Выводы: сделать человеческий модальный диалог до конца не получается... Хотелось бы убрать системное меню окна нафиг вообще (или оставить там только Move и Close), а также иметь возможность убрать иконку. В качестве образца для подражания можно взять хотя бы окна свойств в проводнике Windows (я в Windows работаю).

Что, в Tkinter действительно всё так ацтойно, или я чего-то не увидел по неопытности? smile

Это сообщение отредактировал(а) Young - 22.9.2005, 10:31
PM MAIL WWW   Вверх
grock
Дата 22.9.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 3.8.2005
Где: Санкт - Петербург

Репутация: 1
Всего: 1



а еще вариант забить на Tkinter и перейти на wxPython
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.