Você está aqui: Python ::: wxPython ::: Eventos e Tratadores de Eventos |
Como tratar o evento wx.EVT_PAINT em suas aplicações wxPython - Interfaces gráficas no PythonQuantidade de visualizações: 374 vezes |
|
Nesta dica mostrarei como podemos tratar o evento wx.PaintEvent em suas aplicações wxPython. Este evento é disparado todas as vezes que uma janela é redesenhada, ou seja, quando fazemos o redimensionamento da janela ou a maximizamos. Veja o código completo para uma aplicação wxPython na qual interceptamos o evento wx.PaintEvent para exibir a hora atual na janela, usando a função dc.DrawText(). Note o uso da função strftime() para formatar o conteúdo de um objeto datetime. ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# vamos importar o framework wxPython
import wx
# mais alguns imports necessários
from datetime import datetime
import locale
# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
# o método construtor
def __init__(self, *args, **kw):
# chama o construtor da classe wx.Frame
super(JanelaPrincipal, self).__init__(*args, **kw)
# Configurações do usuário
locale.setlocale(locale.LC_ALL, '')
# chama a função que inicializa a GUI
self.InicializarGUI()
# método usado para gerenciar o evento OnPaint
def OnPaint(self, e):
# Obtém um datetime da data e hora atual
hoje = datetime.today()
# vamos obter o contexto de desenho
dc = wx.PaintDC(self)
texto = "Evento OnPaint gerado às: {0}".format(
hoje.strftime("%X"))
dc.DrawText(texto, 20, 20)
# função que inicializa a GUI do programa
def InicializarGUI(self):
self.Bind(wx.EVT_PAINT, self.OnPaint)
# definimos o tamanho da janela
self.SetSize((450, 350))
# define a cor de fundo da janela (Windows 10)
self.SetBackgroundColour(wx.WHITE)
# definimos o título da janela
self.SetTitle('O evento OnPaint')
# e centralizamos a janela
self.Centre()
# função principal do programa Python
def main():
# vamos criar a aplicação wxPython
app = wx.App()
janela_principal = JanelaPrincipal(None)
janela_principal.Show()
app.MainLoop()
if __name__ == "__main__":
main()
|
|
|
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 |






