2010-07-21 1 views
0

Есть ли способ получить такую ​​же границу в Tkinter? Обратите внимание, что в нем нет кнопок в правом верхнем углу. Также я не хочу, чтобы эта программа отображалась в панели задач.Как получить границу окна, как это в Tkinter?

alt text http://i30.tinypic.com/2zrm6py.png

Это в Windows 7, кстати.

ответ

1

Стиль окна WS_DLGFRAME должен предоставить вам окно без заголовка, а WS_EX_TOOLWINDOW обычно также используется для такого окна, чтобы оно не было видно на панели задач (или со скрытым родительским окном, например диалоговыми окнами панели управления перед Vista). может определить точные стили окна с помощью инструмента, такого как Spy ++ (Visual Studio) или WinSpy++

+0

Я не могу заставить его работать в Tkinter, как выглядят эти маленькие бит? – rectangletangle

+0

@ anteater7171: http://www.pythonware.com/library/tkinter/introduction/x9843-style-methods.htm документирует метод overrideredirect, который удалит панель заголовков и границы, если этого недостаточно, вы должны установить собственный стиль окна , Я не уверен, что Tkinter дает вам такой низкоуровневый доступ, если нет, попробуйте что-то вроде http://twapi.magicsplat.com/ui.html#set_window_style расширения TCL – Anders

2

Tk (и, следовательно, Tkinter) имеет команду для удаления всего оформления оконного менеджера. Эта команда в tkinter является методом «wm_overrideredirect» для верхних окон. Передайте ему параметр True для удаления оконных менеджеров. Затем вы можете рисовать любые границы, которые хотите, как правило, путем упаковки холста по всему окну и рисования на холсте.

Однако, когда я экспериментирую с этим на своем Mac, окно появляется правильно, но не будет фокусироваться. Возможно, это ошибка в Tkinter. Я не вижу той же проблемы с идентичным кодом в Tcl.

 Смежные вопросы

  • Нет связанных вопросов^_^