Comece a criar aplicativos de área de trabalho em Python com a biblioteca de GUI Tkinter

Comece a criar aplicativos de área de trabalho em Python com a biblioteca de GUI Tkinter

Tkinter é um kit de ferramentas de interface gráfica de usuário (GUI) que você deve experimentar se quiser explorar o poder do Python na criação de aplicativos de desktop.





Aqui, damos uma olhada nos fundamentos do módulo Tkinter GUI.





melhor lugar para comprar peças usadas de pc

Configuração do Tkinter

Normalmente, você não precisa instalar tkinter separadamente se você instalou uma versão posterior do Python, começando com Python 3. A biblioteca pode não funcionar com versões antigas do Python, no entanto. Este é um problema comum para usuários de Mac e Linux, já que esses sistemas operacionais geralmente vêm com versões mais antigas do Python por padrão.





Geralmente, para usar o tkinter módulo, certifique-se de baixar e instalar a versão compatível mais recente do Python em seu PC a partir do python.org local na rede Internet.

Se você estiver no Mac, como alternativa, você pode baixar a versão mais recente do ActiveTcl, um tkinter compilador de ActiveState .



Como usar o Tkinter

Tkinter depende de seu TK classe. E encerra todos os eventos dentro da GUI em um laço principal . Assim, o laço principal o invólucro faz o seu tkinter executável de código.

Para começar com tkinter :





from tkinter import Tk
Tk().mainloop()

Executar o código acima acelera um vazio tkinter quadro.

Os recursos de personalização do Tkinter, no entanto, estão em seus widgets integrados.





Para usar esses widgets, você pode importá-los de tkinter substituindo de tkinter import Tk com:

from tkinter import *
t = Tk()
t.mainloop()

Você também pode ajustar o tamanho da janela com o geometria função e, em seguida, especifique um título usando o título widget de tkinter :

t = Tk()
t.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Widget de etiqueta Tkinter

O Tkinter permite que você escreva textos simples diretamente para a GUI usando o Rótulo ferramenta:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

o rede() método, no entanto, é uma alternativa ao pacote() método. Ele adere seus widgets à GUI, tornando-os visíveis.

Você também pode especificar uma fonte para o seu Rótulo texto:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

Trabalhando com os widgets de botão no Tkinter

Os botões são alguns dos widgets mais usados ​​em tkinter . E você pode adicionar esses botões clicáveis ​​à sua GUI usando os vários widgets de botão integrados.

Veja como adicionar um botão primário à sua GUI usando o Botão ferramenta:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

o bg e fg palavras-chave descrevem a cor de fundo do botão e a cor do texto dentro dele, respectivamente.

Você também pode ajustar a dimensão do botão incluindo o altura e largura parâmetros:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

Aqui está a saída para isso:

qual é o meu endereço ip do meu telefone

E se quiser tornar o botão mais atraente visualmente, você pode incluir um alívio palavra-chave e, em seguida, ajuste a largura da borda:

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=6).grid()
t.mainloop()

E isso se parece com isto:

Substituir CRIADO com PLANO para ver como isso acontece.

Você pode adicionar quantos botões desejar. Mas tome cuidado para evitar a sobreposição de conteúdo.

Para evitar a sobreposição, você pode especificar a posição da linha e da coluna para cada botão:

t = Tk()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

Um opcional comando palavra-chave, no entanto, adiciona eventos ao Botão ferramenta. Em essência, ele ancora uma função opcional que trata de certos eventos quando você clica em um botão.

O código abaixo, por exemplo, multiplica o valor de cada botão por 6 quando você clica nele. E é baseado em uma função predefinida:

def buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

No código acima, botão de pressão lida com o evento de multiplicação. o Botão widget, em seguida, aponta para esse manipulador de eventos usando um anônimo lambda função.

E se você está preocupado com o almofadas palavra-chave, ele separa distintamente cada botão na linha. Substituindo isso por padx separa os botões na coluna. E você pode usar as duas palavras-chave simultaneamente para separar os botões em ambos os eixos conforme desejar.

Dito isso, você não quer reinventar a roda para cada botão, como fez no código anterior. Isso diminui o tempo de execução, além de tornar seu código difícil de ler e restringir.

Mas você pode use um loop for para evitar essa repetição.

Portanto, aqui está uma versão mais curta e melhor do código acima:

def buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

Vamos explorar ainda mais o poder de para loop para adicionar botões de menu à sua GUI:

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

Adicionar botões de verificação à sua GUI também é muito fácil:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

Sinta-se à vontade para multiplicar esse botão de verificação usando o para loop, como fizemos anteriormente.

Como criar um menu suspenso com o widget de menu do Tkinter

o Cardápio widget permite criar menus suspensos clicáveis ​​em tkinter .

Como dito anteriormente, tkinter oferece muitas opções de widgets. E você usará alguns deles ao projetar seu menu suspenso.

Aqui estão algumas das opções de widgets comuns que você encontrará ao fazer um menu suspenso:

  • add_cascade: Ele exibe um rótulo de menu e o coloca no lugar ao qual pertence.
  • add_separator: Ele demarca submenus e os agrupa em submenus superiores e inferiores.
  • add_command: É aqui que você dá um nome ao seu submenu. Em última análise, ele aceita um argumento de comando onde você pode especificar um manipulador de eventos.

Aqui está um exemplo suspenso que usa essas três opções:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.add_command(label=i, command=None)
menuBar.add_cascade(label='View', menu=View)
t.config(menu=menuBar)
t.mainloop()

Veja como fica:

Menu de opções do Tkinter

Um Menu de opções , ao contrário do Cardápio lista suspensa, muda seu rótulo para uma opção selecionada.

Embora você possa especificar um valor de rótulo padrão para um menu de opções, ele não tem rótulo por padrão.

Relacionado: Idéias de projetos Python adequadas para iniciantes

Veja como criar um menu de opções em tkinter :

t = Tk()
Omenu = StringVar() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
OptionMenu(t, Omenu, 'MUO', 'Amazon', 'Tutorial').grid()
t.mainloop()

Crie um aplicativo de área de trabalho reutilizável com o Tkinter

O Tkinter oferece uma variedade de recursos que ajudam a criar aplicativos de desktop GUI interativos. Embora possa não ter muitos recursos de embelezamento flexíveis como alguns outros módulos Python GUI, ainda é uma ferramenta útil que vale a pena explorar. E embora os exemplos aqui mostrem apenas alguns dos conceitos básicos, tkinter oferece recursos mais avançados que você pode experimentar.

como deletar uma pasta que está em uso

Dito isso, você pode construir uma calculadora de desktop GUI, fazer um mini editor de texto ou até mesmo criar um aplicativo de desktop GUI para gerenciar seus inventários. Se você quiser abrir suas asas e se tornar um especialista em GUI de desktop, você pode até mesmo verificar outros módulos de GUI do Python.

Compartilhado Compartilhado Tweet O email GUI? O que é uma interface gráfica de usuário?

Você usa uma GUI? Provavelmente você tem, porque você os usa todos os dias.

Leia a seguir
Tópicos relacionados
  • Programação
  • Pitão
Sobre o autor Idisou Omisola(94 artigos publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com programação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever