Você está aqui: Python ::: Tkinter GUI Toolkit ::: Formulários e Janelas |
Como criar uma janela modal usando Tkinter PythonQuantidade de visualizações: 1861 vezes |
Uma janela modal ou diálogo modal é uma janela secundária que criamos e exibimos com o propósito de coletar alguma informação do usuário de nossas aplicações Tkinter Python. As janelas modais possuem como características travarem a janela principal até que sejam fechadas, ou seja, o usuário não consegue interagir como a janela pai enquanto a janela filha estiver aberta. No Tkinter Python uma janela modal pode ser criada por meio da função grab_set(). No exemplo a seguir eu mostro como clicar em um botão na janela principal e chamar a função segunda_janela(). Dentro desta função nós criamos a janela secundária e a tornamos modal, bloqueando a interação com a janela pai. Veja o código completo para o exemplo: # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # função que permite abrir a segunda janela def segunda_janela(): # janelas adicionais são criadas a partir da classe Toplevel janela_secundaria = Toplevel() # define as dimensões da janela secundária janela_secundaria.geometry("250x250") # define o título da janela secundária janela_secundaria.title("Segunda Janela") # coloca o foco na segunda janela janela_secundaria.focus_set() # desabilita a janela principal enquanto a janela secundária estiver aberta janela_secundaria.grab_set() # inicia o loop de eventos da janela secundária janela_secundaria.mainloop() # método principal def main(): # cria a janela principal da aplicação janela_principal = Tk() # define as dimensões da janela janela_principal.geometry("300x250") # define o título da janela janela_principal.title("Cadastro de Clientes") # vamos criar um botão usando a classe Button btn = Button(janela_principal, text="Abrir Janela", command=segunda_janela) # coloca o botão na primeira linha e primeira coluna do layout btn.grid(row=0, column=0, padx=10, pady=10) # entramos no loop de eventos janela_principal.mainloop() if __name__== "__main__": main() Ao executar esta aplicação Tkinter Python nós teremos o seguinte resultado: ![]() |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |