Resumo : neste tutorial você aprenderá como aplicar programação orientada a objetos no Tkinter para deixar o código mais organizado.
Definindo uma janela orientada a objetos Tkinter
O seguinte programa simples cria uma janela raiz e a exibe na tela:
import tkinter as tk
root = tk.Tk()
root.mainloop()
Linguagem de código: Python ( python )
Quando o programa fica mais complexo, você pode usar uma abordagem de programação orientada a objetos para tornar o código mais organizado.
O programa a seguir obtém o mesmo resultado que o programa acima, mas use a class
:
import tkinter as tk
class App(tk.Tk):
def __init__(self):
super().__init__()
if __name__ == "__main__":
app = App()
app.mainloop()
Linguagem de código: Python ( python )
Como funciona.
- Primeiro, defina uma
App
classe que herda datk.Tk
classe. Dentro do__init__()
método, chame o__init__()
método datk.Tk
classe. - Segundo, crie uma nova instância da
App
classe e chame omainloop()
método para exibir a janela raiz.
Outro exemplo de janela orientada a objetos no Tkinter
A classe a seguir representa uma janela que consiste em um rótulo e um botão . Ao clicar no botão, o programa exibe uma caixa de mensagem :
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
class App(tk.Tk):
def __init__(self):
super().__init__()
# configure the root window
self.title('My Awesome App')
self.geometry('300x50')
# label
self.label = ttk.Label(self, text='Hello, Tkinter!')
self.label.pack()
# button
self.button = ttk.Button(self, text='Click Me')
self.button['command'] = self.button_clicked
self.button.pack()
def button_clicked(self):
showinfo(title='Information', message='Hello, Tkinter!')
if __name__ == "__main__":
app = App()
app.mainloop()
Linguagem de código: Python ( python )
Como funciona.
- Primeiro, crie um rótulo e um botão no
__init__()
método da classe App. - Segundo, atribua o
button_clicked()
método à opção de comando do botão. Dentro dobutton_clicked()
método, exiba uma caixa de mensagem. - Terceiro, mova a inicialização do aplicativo para o
if __name__ = "main"
bloco.
Resumo
- Use uma abordagem de programação orientada a objetos para tornar o código mais organizado.
- Defina uma classe que herda da
tk.Tk
classe. Sempre chame osuper().__init__()
da classe pai na classe filha.
Anterior