Cria uma nova instância da janela principal, python gtk

2

Eu sou relativamente novo em python e gtk e estou escrevendo um aplicativo para o Ubuntu App Showdown usando Rapidamente. Eu quero fazer uma nova instância da janela principal quando o usuário clica em "Novo".

Eu tenho o botão e o item de menu vinculados, ou seja, posso fazer com que seja impressa 'new' na linha de comando quando eles são clicados. No entanto, pesquisei e não consegui descobrir como criar uma nova instância.

    
por Luke 24.06.2012 / 14:07

2 respostas

2

Se você quiser iniciar uma nova janela do seu aplicativo no mesmo processo, basta criar uma nova instância da classe de janelas que foi criada rapidamente para você.

Meu aplicativo é chamado rapidamente-gtk, e no módulo python ./quickly_gtk/init.py Eu tenho as seguintes linhas (na parte inferior do arquivo):

# Run the application.    
window = QuicklyGtkWindow.QuicklyGtkWindow()
window.show()

Se você ligar novamente, inicie uma nova instância da sua janela principal. No entanto, o código Produz Rapidamente é realmente destinado a executar uma instância dessa janela por vez, então você terá alguns efeitos colaterais que precisará codificar.

Por exemplo, conecta rapidamente o evento de fechamento da janela a um retorno de chamada que encerra todo o processo. Se você tiver várias janelas, precisará substituir o método on_destroy() da sua janela. É provável que haja outros problemas que você venha a fazer isso.

    
por mhall119 26.06.2012 / 22:54
-1

Você cria uma nova janela criando o objeto window e mostrando-o. Aqui está um exemplo de código:

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.show()

Existem, no entanto, recursos úteis para ajudar também, como a referência PyGTK: link

Além disso, há mais alguns tutoriais em: link

    
por Micheal Harker 24.06.2012 / 14:29