0% acharam este documento útil (0 voto)
31 visualizações25 páginas

Criando Interfaces Gráficas com Tkinter

O documento aborda a criação de interfaces gráficas em Python utilizando a biblioteca Tkinter, destacando sua facilidade e os principais widgets disponíveis. Além disso, menciona a biblioteca Pillow para manipulação de imagens e o uso do módulo Filedialog para abertura e salvamento de arquivos. Por fim, apresenta um mini projeto para a criação de um editor de texto, sugerindo uma estrutura de diretórios e arquivos necessários.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
31 visualizações25 páginas

Criando Interfaces Gráficas com Tkinter

O documento aborda a criação de interfaces gráficas em Python utilizando a biblioteca Tkinter, destacando sua facilidade e os principais widgets disponíveis. Além disso, menciona a biblioteca Pillow para manipulação de imagens e o uso do módulo Filedialog para abertura e salvamento de arquivos. Por fim, apresenta um mini projeto para a criação de um editor de texto, sugerindo uma estrutura de diretórios e arquivos necessários.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Interface gráfica em Python com Tkinter

1 – As interfaces gráficas em Python

PythonofereceváriasopçõesparadesenvolverinterfacesgráficasGUIatravésdemuitas

bibliotecas

1. Tkinter:TkinteréainterfacePythondabibliotecaGUITkquevemcom
Python.Nósvamosestudá-loemdetalhenestecapítulo.
2. wxPython:EstaéumaimplementaçãoemPythonlivreedecódigoabertoPython
dainterfacedeprogramaçãowxWidgets.
3. PyQt:Trata-setambémdeumainterfacePythonparaumabiblioteca
dainterfacegráficaQtpopularmultiplataforma.
4. JPython:JPythonéumaferramentaPythonparaJava,quedáaosscriptsPython
umacessotransparenteàsbibliotecasdeclassesJava.

Existemmuitasoutrasinterfacesgráficasdisponíveis,quevocêpodeencontrarnainternet.

2–AbibliotecagráficaTkinter

Tkinteréabibliotecapadrãodeinterfacegrá[Link],quandoé

combinadocomTkinter,forneceummeiorápidoefácildecriaraplicaçõesgrá[Link]

forneceumapoderosainterfaceorientadaaobjetossimpleseamigável.

AcriaçãodeumaaplicaçãográficausandoTkinteréumatarefabastantefá[Link]ê
Oquevocêprecisafazeréseguirospassosaseguir:

1. ImporteomóduloTkinter.
2. Crieajanelaprincipaldoaplicativográficopormeiodeumainstanciaçãona
classeTk.
3. Entrenaloopdeeventosprincipalparaagircontracadaevento
desencadeadopelousuário.

Exemplo:criaçãodeumasimplesjanelaTkinter
# -*- codificação: utf-8 -*-
1)- Importação da biblioteca tkinter
de tkinter import*

# 2)- Criação de uma janela tkinter fazendo uma instância de


classe Tk
maFenetre= Tk()

# seus widgets aqui: botão de comando, campo de entrada, rótulos...

# 3)- Entre no loop de eventos principal


[Link]()

Oqueéexibidoapósaexecução:

Os Widgets Tkinter
AbibliotecaTkinterfornecevárioscontroles,comobotões,rótuloseáreasde

textoutilizadoemumaaplicaçãográ[Link]ãocomumentechamadosdewidgets.

Atualmenteexistemvá[Link]

principaiswidgets,bemcomoumabrevedescrição:

[Link]:lewidgetButtonpermetdecréerdesboutonspourvotreapplication.

[Link]:owidgetCanvapermitedesenharformas,comolinhas,ovais,

polígonoseretângulos,nasuaaplicação.

[Link]:owidgetCheckbuttonpermiteexibirumcertonúmerodeopçõesnaformade

caixasdeseleçã[Link]áriopodeselecionarváriasopçõesaomesmotempo.

[Link]:owidgetEntryéusadoparaexibirumcampodetextodeumaúnicalinhapermitindo
deaceitarosvaloresdeumusuário.

[Link]:lewidgetFrame(cadre)estutiliséentantquewidgetconteneurpourorganiserd’autres
widgets.

6.Rótulo:owidgetRótuloéusadoparafornecerumalegendaoudescriçã[Link]

tambémpodeconterimagens.

[Link]:owidgetListboxéusadoparafornecerumalistadeopçõesaumusuário.

[Link]:owidgetmenubuttonéusadoparaexibirosmenusemsuaaplicação.

[Link]:owidgetMenuéusadoparafornecervárioscomandosaumusuá[Link]

estãocontidasnoMenubutton.

[Link]:owidgetMensageméusadoparaexibircamposdetextomultilinhaspermitindo

deaceitarosvaloresdeumusuário.

[Link]:owidgetRadiobuttonéusadoparaexibirváriasopçõessob

formadebotõesderá[Link]áriosópodeselecionarumaopçãoporvez.
[Link]:owidgetEscalaéusadoparafornecerumwidgetdeslizante.

[Link]:owidgetBarraderolageméusadoparaadicionarumafuncionalidadede

rolagememvárioswidgets,comoáreasdelista.

OwidgetTextoéusadoparaexibirtextoemváriaslinhas.

[Link]:lewidgetToplevelestutilisépourfournirunconteneurdefenêtreséparé.

[Link]:owidgetSpinboxéumavariantedowidgetpadrãoTkinterEntry,quepodeserutilizado

paraselecionarumnúmerofixodevalores.

[Link]:owidgetPanedWindowéumcontêinerquepodeconterqualquernúmero
depersianas,dispostashorizontalmenteouverticalmente.

[Link]:umlabelframeéumsimpleswidgetdecontê[Link]éagir

comoumseparadorouumrecipienteparadisposiçõesdejanelascomplexas.

[Link]:estemóduloéutilizadoparaexibircaixasdemensagememsuasaplicações.

Python e a biblioteca de processamento de imagens Pillow


1–PillowemanipulaçãodeimagensemumajanelaTkinter

1.1- A biblioteca Pillow

Paratratarimagens,[Link]é

umforksucessordoprojetoPIL(PythonImagingLibrary).Elaéprojetadaparaofereceracesso

rápidoàsinformaçõescontidasemumaimagem,elapossuiumpodermágicoepoderosoparao

tratamentoemanipulaçãodosdiferentesformatosdearquivosdeimagem,comoPNG,JPEG,GIF,
TIFFeBMP…

1.2-InstalaçãodabibliotecaPillow

AbibliotecaPillowséinstaladadeformamuitosimplesutilizandooutilitáriopip:
pip install pillow
2-InserçãodeimagemusandoabibliotecaPillow

AgoraqueabibliotecaPillowestáinstalada,elapodeserutilizadaparainseriremanipular

[Link],bastaimportá-laecriarumobjetoimagema

partirdeumarquivo:
# -*- coding: utf-8 -*-
de PIL import Image, ImageTk

# Criação do objeto imagem


carregar= [Link]("caminho_para_o_arquivo_imagens")

Criação da foto a partir do objeto imagem


photo= [Link](load)

Paraentenderbem,vamostratarissocomumexemplosimples:

[Link]
Coloquemosaimagememumapastachamadaimagens

Vamoscriarumarquivopythonnomesmodiretórioqueapastadeimagense
metemososeguintecódigo:

Exemplodeinserçãodeimagem
# -*- codificação: utf-8 -*-
from tkinterimport *
do PIL import Image, ImageTk

root= Tk()
[Link]("Janela Tkinter")
[Link]("300x200")

Criação do objeto imagem


load= [Link]("images/[Link]")
Criação da foto a partir do objeto imagem
photo= [Link](load)

Colocar a imagem em um rótulo


label_image= Label(root,image=photo)
label_image.place(x=0, y=0)
[Link]()

Oqueéexibidoapósaexecução:

Redimensionamento da imagem
AbibliotecaPillowtambémpermiteredimensionaraimagemutilizandoométodothumbnail().

especificandoentreparêntesesadimensãoempixels:
# -*- codificação: utf-8 -*-
Criação do objeto imagem
load= [Link]("images/[Link]")

Redimensionar a imagem
[Link]((50,50))

Lista ComboBox Tkinter


1– Criaçã[Link]
TkinterComboboxéumaespéciedelistasuspensacomopçõesselecionáveispelousuário.Éuma

combinaçãodeentradaedemenususpenso,comovocê[Link]êclicaem

Àdireita,vocêveráummenususpensoindicandotodasasescolhaspossíveis.
ParacriarumalistaComboBox,vocêdeveseguirosseguintespassos:

1. ImportarabibliotecaTkintereomódulottk
2. CréerunelistePythoncontenantlesélémentsdelalisteComboBox
3. CriaralistaComboboxusandoomé[Link]()
4. Escolhaoelementoqueéexibidoporpadrão,indicandoseuíndice

Exemplo
# -*- código: utf-8 -*-
# 1) - Importação dos módulos necessários
importar tkinter como tk
de tkinter import ttk

root= [Link]()
[Link]('300x200')

labelChoix= [Link](root, text= Por favor, faça uma escolha!


[Link]()

# 2) - criar a lista Python contendo os elementos da lista Combobox


listeProduits=["Laptop", "Imprimante","Tablette","SmartPhone"]

# 3) - Criação da Combobox através do método [Link]()


listeCombo= [Link](root, values=listeProduits)

# 4) - Escolher o elemento que é exibido por padrão


[Link](0)

[Link]()
[Link]()

Oqueéexibidoapósaexecução:

2–Associarumaaçãoàlistacombobox(vincularação)

Vocêprovavelmentepercebeuque,sevocêfizeraseleçãodeumelementodalistaCombobox,

nenhumeventoocorre,simplesmenteporquenãoassociamosnenhumaaçãoàlista

[Link]ágrafo,vamosmostrarcomocriarumaaçãorelacionadaaestecombobox.
2.1–Cria-seumaaçãoligada(bindaction)comocomando:

[Link]("<<ComboboxSelected>>", action)

2.2–Criamosométodoação

def ação(evento):

Obter o elemento selecionado


select = [Link]()
Você selecionou: '

2.3Códigofinaldalistacomboboxcomaçãovinculada

# -*- coding: utf-8 -*-


# 1) - Importação dos módulos necessários
importar tkinter como tk
de tkinterimport ttk

root= [Link]()
[Link]('300x200')

def action(event):

Obter o elemento selecionado


select = [Link]()
Você selecionou : '" , select, "'

labelChoix= [Link](root, text= Por favor, faça uma escolha!


[Link]()

# 2) - créer la liste Python contenant les éléments de la liste Combobox


listeProduits=["Laptop", ["Impressora","Tablet","Smartphone"]

3) - Criação do Combobox através do método [Link]()


listeCombo= [Link](root, values=listeProduits)

4) - Escolher o elemento que aparece por padrão


[Link](0)

[Link]()
[Link]("<<ComboboxSelected>>", ação)

[Link]()

O módulo Filedialogue Python Tkinter


1- O módulo Filedialogue e os métodos associados

FileDialogéummódulocomfunçõesdediálogosdeaberturaesalvamento,quepoderáte

ajudaramelhorarsuainterfacegráficaTkinterparaabrirousalvarseusarquivos.

OmóduloFiledialoguepossuitrêsprincipaismétodos:
1. askopenfilename():exibeumacaixadediálogoquesolicitaaaberturadeum
arquivoexistente.
2. asksaveasfilename():exibeumacaixadediálogoquepermitesalvarum
arquivo
3. askdirectory():exibeumacaixadediálogoquesolicitaaaberturadeum
diretório.

2-Ométodoaskopenfilename

Comoexplicamosacima,estemétodoexibeumacaixadediálogoquepedepara

selecioneoarquivoaabrirerecupereoarquivocomseucaminhoemumavariá[Link]

parâmetrosseguintes:

1. initialdir:quepermiteapontarparaumdiretórioinicialassimqueéaberto.
2. title:quipermetdepersonnaliserletitredelaboitededialogue
3. filetypes:quipermetdespécifierlestypesdefichiersàouvrir

Exemplo.métodoaskopenfilename
de tkinter import filedialog
a partir de tkinterimport *

filename= [Link](initialdir= "/",title="Select


Arquivo", tipos_de_arquivo=(("arquivos png","*.png"),("arquivos jpeg","*.jpg"),("todos
arquivos","*.*"))
imprimir(nome_arquivo)

Aoexecutarestecódigo,veremosapareceracaixadediálogoseguintequeapontaparaaraizdo

disqueC:\
Observação

Vocêprovavelmentenotouqueumapequenajanelapop-upaparececomacaixadediálogo!Parase

paraselivrardela,bastausarométodowithdraw():
de tkinter import filedialog
de tkinterimport *
Tk().withdraw()
nome_do_arquivo= [Link](diretorio_inicial= "/",title="Select
Arquivo", tipos_de_arquivo=(("arquivos png","*.png"),("arquivos jpeg","*.jpg"),("todos
arquivos","*.*"))
imprimir(nome_do_arquivo)

3-Ométodoasksaveasfilename

Estemétodoésemelhanteaoanterior,comadiferençadequeelegravaumarquivoemvezde

abri-loeelapossuiexatamenteosmesmosparâmetros.

Exemplo.métodoasksaveasfilename
from tkinter import filedialog
de tkinterimport *
Tk().withdraw()
nome_do_arquivo= [Link](diretorio_inicial= "/",title= "Select
arquivo",tiposDeArquivo= (("png files","*.png"),("jpeg files","*.jpg"),("all
arquivos","*.*"))
imprimir(nome_do_arquivo)
4 - O método askdirectory

Comojámencionamos,estemétodopedeaousuárioparaescolherodiretóriopara

[Link]árioselecionarumdiretório,esteseráarmazenadoemumavariáveldotipo

stringquecontémocaminhoparaodiretórioselecionado.

Exemplo.métodoaskdirectory
de tkinterimport *
de tkinter import filedialog

Tk().withdraw()
myDirectory= [Link]()
imprimir (meuDiretório)

Mini Projeto Python: Criação de um editor de texto parte 1

1 – Criação da árvore do sistema

Antesdecomeçaracodificar,vocêdevefazerumdesigndoseusistema.Nóssugerimosa

seguinte:

1. library:representaodiretóriodasbibliotecasdosistema(módulose
classes).Estediretóriocontémumarquivovaziochamado__init__.pyqueindicaa
ointerpretadordePythonquesetratadodiretóriodeummódulo.
2. [Link]:representaabibliotecadosistemaquevaicontertodasas
classesPythonnecessáriasparaofuncionamentodosistema.
3. [Link]:[Link]
fichiernecontientquetrèspeudecode,généralementlesinstancesdesclasses
[Link]

2-Ocó[Link]

2.1Importaçãodabibliotecatkinter

Oeditorquedesejamoscriarmanipulaobjetosgráficos:janelas,botões,rótulos,caixasde

diálogo..Paraisso,precisamosimportarumabibliotecagrá[Link]
Tkinterparaesteprojeto:

from tkinterimport *
importar os
savedFile= {1:""}

NB:

Aterceiralinhanospermitiráarmazenarosobjetosquenãocabememumainstânciade

classe.

2.2- Criação da classe principal do arquivo [Link]

de tkinterimport *
importar os
savedFile= {1:""}
classe Vencer:
def __init__(self,master,content):
Janela principal
[Link]= master
# Widget Principal de Texto
[Link]=content
# Criação da janela tkinter
def criar(self):
[Link]= Tk()
[Link]("Editor de Texto")
[Link]("700x550")
Método que adiciona a caixa de texto
def adicionar_texto(self):
[Link]= Text([Link])
[Link](expand=1, fill='both')
# Génération de la fenêtre principale
def gerar(self):
[Link]()

2.3-Adiçãodosmenus

Paraentenderbemométododeadiçãodemenus,porfavorreviseotutorial(página18)sobreosmenus.
Nóspassamosdiretamenteparaocódigoquepermiteadicionarummétodoadd_menu()quepermitejogar

o caso:
def adicionar_menu(self):
# 1 - Criação da barra de menus
menuBar = Menu([Link])
# 2 - Criação do menu Arquivo
menuFichier = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= "Fichier", menu=menuFichier)
Criação dos sub-menus do menu Arquivo
menuFichier.add_command(label="Nouveau", command=[Link])
menuFichier.add_command(label="Ouvrir", command=[Link])
menuFichier.add_command(label="Enregistrer", command=[Link])
menuFichier.add_command(label="Enregistrer sous",
command=[Link])
menuFichier.add_command(label="Quitter", command= [Link])
[Link](menu= menuBar)
#3 - Criação do Menu Edição
menuEdition= Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= Edição
menuEdition.add_command(label="Annuler")
menuEdition.add_command(label="Rétablir")
menuEdition.add_command(label="Copier", command=[Link])
menuEdition.add_command(label="Couper", command= [Link])
menuEdition.add_command(label="Coller", command=[Link])
#4 - Criação do Menu Ferramentas
menuOutils = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= "Outils", menu= menuOutils)
menuOutils.add_command(label="Préférences")
Criação do Menu Ajuda
menuAide = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= "Aide", menu= menuAide)
menuAide.add_command(label="A propos")

2.4–Adiçãodecomandosparaosmenus

Atéagora,osmenuscriadosnãosãofuncionais,poisaindanãooscriamos.

comandos!Portanto,devemosassociaracadamenuumcomando:
command= nom_de_la_commande

Devemosentãocriarumaaçãoparacadapedidoequetenhaomesmonome:
def nom_de_la_commande():
#código da ação aqui

Códigodasaçõesdosmenus
#======================================
Definição das ações dos menus
#======================================
#------------------------------ #
- actions du menu Fichier
#-------------------------------
def quitter(self):
[Link]()
def novo(self):
[Link]("python [Link]")
def fopen(self):
file = [Link]=
[Link](initialdir= "/",title= Selecionar
File",filetypes= (("Text Files","*.txt"),("all files","*.*")))
fp = open(arquivo, "r")
r = [Link]()
[Link](1.0,r)
# Menu Enregistrer sous
def saveAs(self):
# criar diálogo de salvar

fichier=[Link]=[Link](initialdir=
"/",title= "Enregistrer Sous\ ",filetypes= Ficheiro
Texte","*.txt"),("Tous les fichiers","*.*")))
fichier = fichier+ .txt
# Utilisation du dictionnaire pour stocker le fichier
arquivoSalvo[1] = arquivo
f = open(ficheiro, "w")
s = [Link]("1.0", FIM)
[Link](s)
[Link]()
# menu Enregistrer
def salvar(self):
se (arquivoSalvo[1] ==""):
[Link]()
senão:
f = open(savedFile[1], "w")
s = [Link]("1.0", FIM)
[Link](s)
[Link]()
#------------------------------
- ações do menu Edição
#------------------------------
def cópia(self):
[Link].clipboard_clear()
[Link].clipboard_append([Link].selection_get())
def passado(self):
[Link](INSERT, [Link].clipboard_get())
def cortar(self):
[Link]()
[Link]("[Link]","[Link]")

Observação

Asaçõesassociadasaosmenusdevemsercolocadasantesdasfunçõesquedefinemosmenus
2.5-Có[Link]ódigonopastbin)
# -*- codificação: utf-8 -*-
#------------------------------
# Author : Y. DERFOUFI
Professor Agrégé de Matemática & Doutor em Matemática
Informática
# Compagny : CRMEF OUJDA
#-----------------------------
de tkinterimport *
importar os
savedFile= {1:""}

#======================================
# 1 - Classe de la fenêtre pricipale
#======================================
classe Vencer:
def __init__(self,master,content):
Janela principal
[Link]= master
# Widget de Texto Principal
[Link]=content
# Criação da janela tkinter
def criar(self):
[Link]= Tk()
[Link]("Editeur de Texte")
[Link]("700x550")
# Método que adiciona a caixa de texto
def adicionar_texto(self):
[Link] = Text([Link])
[Link](expand=1, fill='both')
# Geração da janela principal
def gerar(self):
[Link]()

#======================================
# 2 - Definição das ações dos menus
#======================================
#------------------------------
# 2.1 - actions du menu Fichier
#-------------------------------
def quitter(self):
[Link]()
def novo(self):
[Link]("python [Link]")
def fopen(self):
file = [Link]=
[Link](initialdir= "/",title= Selecionar
File",filetypes= (("Text Files","*.txt"),("all files","*.*")))
fp = open(arquivo, "r")
r = [Link]()
[Link](1.0,r)
# Menu Enregistrer sous
def saveAs(self):
criar diálogo de salvamento

fichier=[Link]=[Link](initialdir=
/ "Enregistrer Sous\ ",filetypes= Ficheiro
Texte","*.txt"),("Tous les fichiers","*.*")))
fichier = fichier+ .txt
# Utilização do dicionário para armazenar o arquivo
savedFile[1] = fichier
f = open(ficheiro, "w")
s = [Link]("1.0", FIM)
[Link](s)
[Link]()
# menu Enregistrer
def salvar(self):
se(arquivoSalvo[1] ==""):
[Link]()
senão:
f = open(savedFile[1], "w")
s = [Link]("1.0", FIM)
[Link](s)
[Link]()
#------------------------------
2.2 - ações do menu Edição
#------------------------------
def cópia(self):
[Link].clipboard_clear()
[Link].clipboard_append([Link].selection_get())
def passado(self):
[Link](INSERT, [Link].clipboard_get())
def cortar(self):
[Link]()
[Link]("[Link]", "[Link]")

#======================================
2 - Métodos de adição de menus
#======================================
def adicionar_menu(self):
# 1 - Criação da barra de menus
menuBar = Menu([Link])
# 2 - Criação do menu Arquivo
menuFichier = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= Ficheiro
Criação dos submenus do menu Arquivo
menuFichier.add_command(label="Nouveau", command=[Link])
menuFichier.add_command(label="Ouvrir", command=[Link])
menuFichier.add_command(label="Enregistrer", command=[Link])
menuFichier.add_command(label="Enregistrer sous",
command=[Link]
menuFichier.add_command(label="Quitter", command= [Link])
[Link](menu= menuBar)
#3 - Criação do Menu Edição
menuEdition= Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= Edição
menuEdition.add_command(label="Annuler")
menuEdition.add_command(label="Rétablir")
menuEdition.add_command(label="Copier", command=[Link])
menuEdition.add_command(label="Couper", command= [Link])
menuEdition.add_command(label="Coller", command=[Link])
#4 - Criação do Menu Ferramentas
menuOutils = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= Outils
menuOutils.add_command(label="Préférences")
Criação do Menu Ajuda
menuAide = Menu(menuBar,tearoff=0)
menuBar.add_cascade(label= Ajudar
menuAide.add_command(label="A propos")
3- Code du fichier principal [Link] (Códigonopastbin)
# -*- codificação: utf-8 -*-
# Importação das bibliotecas necessárias
do tkinterimport *
de tkinter import filedialog

# Importação do módulo [Link]


da [Link]*

Criação do dicionário que armazena os objetos de arquivos


savedFile= {1:""}

# Criação de uma instância na classe principal


root= Win("root","c")

# Chamada dos métodos que criam o objeto janela com todos os seus componentes
[Link]()
root.adicionar_texto()
root.adicionar_menu()
[Link]()

4–Visãodoeditor

Sevocêcodificoubemseusistemaetudoestáfuncionando,aquiestáumapréviadoseupequenoeditordetexto:

Interface gráfica wxPython

1– Introduction

DesenvolvidoporRobinDunncomHarriPasanen,wxPythonéimplementadocomoummódulo

d'[Link]ãoéoutracoisasenãoumwrapper:bibliotecacujafunçãoprincipalé
dechamareinterrogarosmódulosefunçõesdeoutrabiblioteca:wxWidgets(escritoemC++),

umacaixadeferramentasdeinterfacegráficamultiplataformapopular.

ComotodososwxWidgets,owxPythontambémé[Link]

oficial[Link]

sistemaoperacionalestãodisponí[Link]ém

serinstaladodiretamenteviaoutilitáriopip.

OsprincipaismódulosdaAPIwxPythonincluemummó[Link]écompostopor

classewxObject,[Link]ódulodecontrolecontém

todososwidgetsusadosnodesenvolvimentodeaplicaçõesdeinterfacegrá[Link]
exemplo,[Link],[Link],[Link](controledetextomodificável),etc.

AAPIwxPythonpossuiummóduloGDI(InterfacedeDispositivoGráfico).Éumconjuntodeclasses

[Link],cor,pincel,[Link]

[Link],recomendamosquevocêvejaa
documentaçãooficialnawikidabiblioteca:[Link]

2– InstalaçãodowxPythoneprimeiroprograma

2.1–InstalaçãodabibliotecawxPython

ParainstalarabibliotecawxPython,[Link]áriodecomando

cmdedigitar:
pip install-U wxPython
2.2– Primeiroprograma‘OláMundo!’ comwxPython

Agoravamosvercomocriarnossaprimeirajanela'HelloWorld!'comwxPython.

Paraisso,devemos:

1. ImportarabibliotecawxPython:usandoocomandoimportwx
2. CriarumobjetoaplicativousandoométodoApp():app=[Link]()
3. Criarumamoldura(frame):frame=[Link]()

4. VisualizaroframeusandoométodoShow():[Link]()
5. ImplementaroaplicativocomométodoMainloop():[Link]()
Importação da biblioteca wxPython.
importar wx

# Criação de um objeto aplicativo usando o método App().


app= [Link]()

# Criação de uma moldura (frame) sem pai.


quadro= [Link](None)

Visualizar o quadro.
[Link]()
[Link]()

Oqueéexibidoapósaexecução:

2.3Propriedadesdeumajanelaframe

UmajanelaemolduradadabibliotecawxPythonpossuinumerosaspropriedades:título,SetSize,

BackgroundColour…

[Link]ão400×200defundoverde
# Importação da biblioteca wxPython.
import wx

# Criação de um objeto aplicativo usando o método App().


app= [Link]()

Criação de um quadro (frame) sem pai.


quadro = [Link](None)

Propriedades da janela
[Link]= Olá Mundo!
[Link]= verde
[Link](0,0,400,200)

Visualizar o quadro.
[Link]()
[Link]()

3– OswidgetswxPython

wxPythonpossuiumaamplagamadediversoswidgets,incluindobotões,caixasdeseleção,

cursoresezonasdelista.

1. [Link]ão
2. [Link]
3. [Link]ático
4. [Link]
5. [Link]
6. [Link]
7. [Link]
8. [Link]
9. [Link]ão de Rádio
10. [Link]
11. [Link]
12. [Link]
13. [Link]

3.1–[Link]

[Link]ã[Link],devemos:

1. CriarumframeprincipalcomométodoFrame()
2. CriarumpainelcomométodoPanel()
3. Adicionarobotãoaopainel
3.1.1–Criaçãodeumbotãosimples

[Link]ãosimples
# -*- codificação: utf-8 -*-
import wx

app= [Link]()
frame= [Link](None, title='Fenêtre avec bouton')
[Link](0,0,350,200)

Criar um Painel
panel= [Link](frame)

Adicionar um botão ao painel


button= [Link](panel,label="un simple bouton")

[Link]()
[Link]()

Oqueexibeumbotãonocantosuperioresquerdodajanela:

Maspodemosfacilmentemudaraposiçãoeasdimensõesdobotãocomaajudada
métodoDefinirTamanho():

botã[Link](50,50,200,30)

3.1.2–Associarumaaçãoaumbotãodecomando

Paraassociarumeventodeaçãoaumbotãodecomando,bastadefiniroevento.

umamétodoPythoneligá-loaobotãousandoométodobind():
[Link](wx.EVT_BUTTON, ação)
Exemplo:botãodefecharumajanela.
# -*- codificação: utf-8 -*-
importar wx

def action(event):
[Link]()

app= [Link]()
frame= [Link](None, title='Janela com botão')
[Link](0,0,350,200)

Criar um Painel
panel= [Link](frame)

Adicionar um botão ao painel


button= [Link](panel,label="un simple bouton")
[Link](50,50,200,30)

Associe o evento de fechamento ao botão


botã[Link](wx.EVT_BUTTON, ação)

[Link]()
[Link]()

Aoexecutarocódigoacima,obtemosaseguintejanelacomumbotãodefechamento:

Eagora,aoclicarnobotão,ajanelasefechaautomaticamente.

3.2OwidgetStaticText(rótulo)

ParacriarumrótuloemumajanelawxPython,usamosowidgetStaticText:

Exemplo
import wx

app= [Link]()
window= [Link](None, title= "wxPython Frame", tamanho= (300,200))

adicionar painél
panel= [Link](window)
[Link]="white"

Criar rótulo no painel


label= [Link](panel, label= Olá Mundo (100,50))
[Link](True)
[Link]()

4– miniappwxPython

Agoravamoscriarumpequenoaplicativoquemostraaousuárioumapequenajanela.

demandantdesaisirsonnometdeluiafficherunmessagedebienvenueaprèsavoircliquésurlebouton

devalidação.
# -*- codificação: utf-8 -*-
import wx

def action(event):
s = [Link]()
[Link]("Bienvenue : " + s)

app= [Link]()
frame= [Link](None, title='Janela com botão')

[Link](0,0,550,300)

# === Criar um Painel ===


panel= [Link](frame)

# === Rótulo nom & saída ===


lblNom= [Link](panel)
[Link](50,50,100,10)
[Link]("Saisir votre nom")
lblResult= [Link](panel)
[Link]("")
[Link](200,100,100,20)

# === TextEntry ===


edit= [Link](panel)
[Link](200,50,200,30)

# === Adicionar um botão ao painel ===


button= [Link](panel,label="Valider")
[Link](200,150,200,30)

# === Associar o evento de fechamento ao botão ===


botã[Link](wx.EVT_BUTTON, ação)

[Link]()
[Link]()

Oqueéexibidoapósaexecuçãodocódigo:

A biblioteca gráfica PyQt5

1 - A respeito do PyQt5

PyQtestéumabibliotecaconsideradacomoumaligaçãodalinguagemPythoncomacaixadeferramentasGUI

kitdeferramentasQt,quepodeserinstaladorapidamentecomoutilitáriopipetimplementadocomoummódulo

[Link]é[Link]ádisponível

emcondiçõessemelhantesàsversõesQtanterioreseissosignificaumavariedadededelícias,dasquais
LicençaPúblicaGeralGNU(GPL)ealicençacomercial,masnãoaLicençaPúblicaGeralMenorGNU

LicençaPública(LGPL).PyQtsuportaMicrosoftWindows,bemcomováriasversõesdoUNIX.

incluindoLinuxeMacOS(ouDarwin).PyQtimplementacercade440classesemaisde6.000

funçõesemétodos.

2– InstalaçãodoPyQt5eprimeiroprograma

2.1–InstalaçãodoPyQt5

LabibliothèquePyQt5,peutêtreinstalléfacilementvial’utilitairepip:
pip3 install pyqt5
DepoisdeinstalarabibliotecaPyQt5,devemosinstalarasferramentasauxiliaresusando

opromptdecomando:
pip3 instalar pyqt5-tools

2.2–PremièrefenêtregraphiquePyQt5

PourcréerunefenêtregraphiqueenPyQt5,ondois:

1. Importaromódulodosistema:sys
2. Importeaclassequegeraaaplicação:QApplicationsdopacote
[Link]
3. [Link]
4. Criarumaplicativousandoométodoinstance()daclasse
QApplication
5. CriarumajanelacomométodoQWidget():fen=QWidget()
6. Visualizarajanelausandoométodoshow():[Link]()
7. Exécuterl’applicationàl’aidedelaméthodeexec_():app.exec_()

CódigodaprimeirajanelagráficacomPyQt5:
#-*- coding: utf-8 -*-
# importações necessárias para a realização de uma interface gráfica
importar sistema
de [Link] importar QApplication, QWidget

criação de uma aplicação Qt com QApplication


app= [Link]()

# verificamos se já existe uma instância de QApplication


se não app:
# sinon on crée une instance de QApplication
app = QApplication([Link])

Criamos uma janela usando o objeto QWidget


fen= QWidget()

damos um título à janela


[Link]("Ma premiere fenetre")

fixamos o tamanho da janela


[Link](500,250)

nós visualizamos a janela


[Link]()

execução do aplicativo, a execução permite gerenciar os eventos


app.exec_()

Oqueexibeumabelajanelanaexecução:

Você também pode gostar