Participo 'passivamente' do grupo já há alguns meses, e dou os
parabéns a todos os participantes por nos proporcionarem tantas
discussões interessantes.
Meu nome é Daniel e sou um pythonista hobbista. :)
Estou com uma dúvida difícil de resolver, e se alguém puder me indicar
um local mais específico para procurar respostas eu agradeço.
A pergunta é:
Como posso ter acesso aos botões de maximizar, minimizar e fechar que
ficam no canto superior direito das janelas do Tkinter? Queria poder
habilitá-los, desabilitá-los, sumí-los, etc...
Abraço a todos,
Daniel.
------------------------------------
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia: |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar |
| E se você é usuário do BOL lembre-se de cadastrar o |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/python-brasil/
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
Em geral você na verdade não quer fazer isso. É dificil pensar em
motivos bons pra isso, e geralmente quando tem você quer desabilitar
tudo na verdade, e ai voce usa o wm_overrideredirect num widget
toplevel.
Bem, o botão de maximizar é o mais simples de se
habilitar/desabilitar/sumir: wm_resizable(0, 0) mas você também não
vai poder redimensionar a janela manualmente a não ser que você tenha
um widget ttk.Sizegrip na sua janela.
Para controlar o botão fechar, você altera o comportamento dele usando
o wm_protocol com o protocolo "WM_DELETE_WINDOW".
O de minizar é relativemente simples de controlar também, quando você
minimiza uma janela, ela recebe um evento -- "Unmap". Então você pode
adicionar um binding pra esse evento e fazer alguma coisa que você
estiver imaginando.
> Abraço a todos,
>
> Daniel.
>
--
-- Guilherme H. Polo Goncalves
Nas duas primeiras linhas do paragráfo seguinte falava sobre esse botão.
> ou qualquer uma das combinações q tu deseja (como tool windows). Agora
> eu nem sei se TK tem suporte a isso, mas tanto o windows/gtk/qt/cocoa
> tem essa distinção, então vou chutar que deve ter :D
>
Não entendi porque você misturou o Windows com 3 toolkits, e também
não é tanto uma questão de o Tk ter suporte a isso já que não é ele
que cria e também não tem controle total sobre as decorações da
janela. Pode até parecer que alguns toolkits dão suporte completo a
isso, mas na verdade se você tentar usar o set_decorations numa
gtk.gdk.Window, por exemplo, você vai acabar percebendo que não da pra
fazer todas as combinações que você quiser.
No Windows você pode usar a opção -toolwindow (se quiser uma
toolwindow) com o wm_attributes, nas outras plataformas você tem a
opção de usar os outros comandos wm_* pra tentar fazer o que se quer.
Se o carbon tem suporte direto a toolwindows então seria questão de
criar um feature request la no sourceforge p/ tk para adicionar essa
opção as opções do comando wm attributes. No Linux eu sei que seria
possivel ter um -toolwindow, já que você pode passar um
_NET_WM_WINDOW_TYPE_UTILITY pro XChangeProperty mas o Tk não suporta
por alguma razão.
> --
> Leonardo Santagada
> santagada at gmail.com
Quanto a usabilidade da informação, acredito que talvez eu não queira
mesmo fazer isso (futricar com os botões da janela) em uma aplicação,
mas 'knowledge is power', como dizem, e eu estava com vontade de saber
como fazer. O aplicativo é apenas um relógio do tipo 'always on top'
que eu queria ver como ficava sem os botões. Puro diletantismo. :D
Abraço,
Daniel.
> 2009/1/5 Leonardo Santagada <santagada@...>:
> >
> > On Jan 5, 2009, at 6:31 PM, Guilherme Polo wrote:
> >
> >> 2009/1/5 Daniel Montezano <danielmontezano@...>:
> 2009/1/5 Daniel Montezano <danielm...@yahoo.com.br>:
>> Olá a todos!
>>
>> Participo 'passivamente' do grupo já há alguns meses, e dou os
>> parabéns a todos os participantes por nos proporcionarem tantas
>> discussões interessantes.
>>
>> Meu nome é Daniel e sou um pythonista hobbista. :)
>>
>> Estou com uma dúvida difícil de resolver, e se alguém puder me
>> indicar
>> um local mais específico para procurar respostas eu agradeço.
>>
>> A pergunta é:
>> Como posso ter acesso aos botões de maximizar, minimizar e fechar que
>> ficam no canto superior direito das janelas do Tkinter? Queria poder
>> habilitá-los, desabilitá-los, sumí-los, etc...
>>
>
> Em geral você na verdade não quer fazer isso. É dificil pensar em
> motivos bons pra isso, e geralmente quando tem você quer desabilitar
> tudo na verdade, e ai voce usa o wm_overrideredirect num widget
> toplevel.
Acho que o q o guilherme queria ter terminado de dizer é q geralmente
tu quer usar tipos de janelas diferentes, q em si não são maximizaveis
ou qualquer uma das combinações q tu deseja (como tool windows). Agora
eu nem sei se TK tem suporte a isso, mas tanto o windows/gtk/qt/cocoa
tem essa distinção, então vou chutar que deve ter :D
--
Leonardo Santagada
santagada at gmail.com