Ir para conteúdo
Fórum Script Brasil
  • 0

Como Manter Message Dialog "sempre Por Cima"?


katrash

Pergunta

Como manter Message Dialog sempre por cima?

Olá galera!

Sou novato em Python, e ainda estou aprendendo os fundamentos desta linguagem.

O cenário é o seguinte: desenhei uma interface gráfica no Glade, que contém duas janelas: a Principal e uma Message Dialog. Na janela Principal, há um botão que quando clicado mostra a Message Dialog. Parece que tudo funciona corretamente, a Message Dialog aparece e consigo captar o botão que foi clicado (ok e cancel). No entanto, na consigo fazer a Message Dialog ficar “sempre por cima” da janela principal. Já procurei no Google, porém, não consegui encontrar nada que ajude, provavelmente estou procurando no lugar errado.

Alguém, por favor, pode me ajudar? Como manter a Message Dialog “sempre por cima”?

Abaixo, vai o código escrito por mim. Se alguém quiser dar uma olhada, criticas serão bem-vindas.

Vlw! Abraço a todos!



# -*- coding: cp1252 -*-
import pygtk, gtk, gtk.glade

class Aplicacao:

def __init__(self):
self.app = gtk.glade.XML("testeWinMsgDialog.glade")
self.winPrincipal = self.app.get_widget("winPrincipal")
self.winMsgDialog = self.app.get_widget("winMsgDialog")
self.app.signal_autoconnect(self)

def main(self):
gtk.main()

def on_btnMsgDialogShow_clicked(self, button):
resp = self.winMsgDialog.run()
self.winMsgDialog.hide()
text1 = "<span size='xx-large'><b>Botões Ok/Cancel</b></span>\n\n"
if resp == gtk.RESPONSE_OK:
text2 = "<span size='x-large'>Você clicou no botão OK.</span>"
else:
text2 = "<span size='x-large'>Você clicou no botão CANCEL.</span>"
text3 = unicode(text1 + text2, "iso8859-1")
self.app.get_widget("lblResponse").set_markup(text3)

def on_winMsgDialog_delete_event(self, widget, data=None):
self.winMsgDialog = self.app.get_widget("winMsgDialog")
self.winMsgDialog.hide()
return True

def gtk_main_quit(self, widget, data=None):
gtk.main_quit()

if __name__ == "__main__":
myApp = Aplicacao()
myApp.main()

[/codebox]

Editado por katrash
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Então... A quem possa interessar... ainda não consegui... <_<

Porém, é possível fazer isso com uma toplevel window. Na aba General, escolha o nome da janela principal (pai) em Transitório da Janela (Essa opção está na aba General só no Glade-3, no 2.12 está na última aba a direita). Daí, é construir a Dialog a partir da janela "normal".

pygtk: Classe: gtk.Window Método:set_transient_for()

É isso ai...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...