Construindo interfaces Python com o Tkinter1 Configuração dos widgets do Tkinter 1.1. Button...
Transcript of Construindo interfaces Python com o Tkinter1 Configuração dos widgets do Tkinter 1.1. Button...
Construindo interfacesPython com o Tkinter
Roberto Tavares
Índice ................................................................................................................. v1. Configuração dos widgets do Tkinter ....................................................... 1
1.1. Button ......................................................................................... 11.1.1. Para que é utilizado: ......................................................... 11.1.2. Como é criado: ................................................................. 11.1.3. Opções do widget: ............................................................ 1
1.2. Entry .......................................................................................... 51.2.1. Para que é utilizado: ......................................................... 51.2.2. Como é criado: ................................................................. 51.2.3. Opções do widget: ............................................................ 5
1.3. Label .......................................................................................... 91.3.1. Para que é utilizado: ......................................................... 91.3.2. Como é criado: ................................................................. 91.3.3. Opções do widget: ............................................................ 9
1.4. Menu ........................................................................................ 131.4.1. Para que é utilizado: ....................................................... 131.4.2. Como é criado: ............................................................... 131.4.3. Opções do widget: .......................................................... 13
1.5. Menubutton ............................................................................... 161.5.1. Para que é utilizado: ....................................................... 161.5.2. Como é criado: ............................................................... 161.5.3. Opções do widget: .......................................................... 16
iii
iv
Obs: Este documento está em elaboração, sendo atualizado de acordo
com os artigos publicados da série "TKinter", disponíveis em http://
www.cadernodelaboratorio.com.br
v
vi
1Configuração dos widgets do Tkinter
1.1. Button
1.1.1. Para que é utilizado:
Os widgets Button são utilizados para criar um botão na janela superior ou emum frame especificado como pai.
1.1.2. Como é criado:
nomeWidget= tk.Button(pai, opção, ….)
1.1.3. Opções do widget:
propriedade descrição
activebackground Cor de fundo quando o mouse estásobre o widget
activeforeground Cor de frente quando o mouse estásobre o widget
anchor
Controla a posição do texto dentrodo widget. O valor default é o centro(tk.CENTER), mas pode-se escolher
1
Opções do widget:
propriedade descriçãoentre 9 posições, conforme mostra afigura acima
bg ou background Cor de fundo da área do widget
bitmap Nome da imagem que seráapresentada em lugar do textodo botão. Pode assumir osvalores: 'error', 'gray75', 'gray50','gray25', 'gray12', 'hourglass', 'info','questhead', 'question', e 'warning
bd ou borderwidth Largura da borda em torno do widget,em pixels. Valor default 2.
command Função ou método a ser chamadoquando o botão é pressionado
cursor Cursor que aparece quando o mouseestá sobre o widget. Existem mais de70 cursores disponíveis. Veja tabelade cursores no capítulo "cursores".
default O default é tk.normal. Para desabilitaro botão utilize tk.DISABLED
disabledforeground Cor de frente do widget quando omesmo está no estado tk.DISABLED
font Epecifica o font a ser utilizado notexto do widget. Para uma lista dosfontes veja o capítulo "Fonts noTkInter"
fg ou foreground Especifica a cor do texto. Para umalista de cores veja o capítulo "Coresno Tkinter"
height Altura do botão em lines se contemum texto, e em pixels se for umaimagem.
2
Opções do widget:
propriedade descrição
highlightbackground Cor quando o widget não estásalientado
highlightcolor Cor quando o widget está no foco
highlightthickness Expessura quando o widget está emfoco
image Especifica a imagem a serapresentada ao invés do texto. Veja ocapítulo "Imagens"
justify Especifica o alinhamento daslinhas de texto. Pode assumir umdos seguintes valores: tk.LEFT,tk.CENTER (default), tk.RIGHT
padx Adiciona espaço (pixels) extra adireita e a esquerda do texto. Default1 pixel.
pady Adiciona espaço (pixels) acima eabaixo do texto. Default 1 pixel
relief Especifica a aparência da bordadecorativa em torno do widgets. Odefaul é tk.FLAT. Pode assumir osvalores tk_RAISED, tk_SUNKEN,tk_GROOVE ou tk_RIDGE
repeatdelay Veja repeatinterval, logo a seguir
repeatinterval Normalmente, quando o usuáriolibera o botão do mouse qdo sobre obotão, é disparado um evento. Paraprovocar disparos contínuo sempreque o botão do mouse é mantidopressionado , faça esta propriedadeigual ao intervalo em milisegundosdesejado para a geração do evento.
3
Opções do widget:
propriedade descriçãorepeatdelay irá corresponder aointervalo para o primeiro disparo.
state A condição default é tk.NORMAL.Se feita igual a tk.DISABLE o widgetnão responderá ao mouse. Quando omouse está sobre o objeto o estadopassa a tk.ACTIVE.
takefocus Em condiçoes normais o Labelttonpode ficar no foco em função do usodo teclado. Se se você deseja queisto NÂO ocorra, faça takefocus=0.
text O texto aqui especificado irá serapresentado no widget. Para pular delinha use o caracter '\n'.
textvariable Associa o texto do widget a umavariavel do tipo StringVar.
underline Sublinha o caracter especificado. Oparâmetro fornecido é a posição docaracter no texto, iniciando em 0. Ovalor default é -1, que significa semsublinhar.
width Largura do widget em caracteres se olabel é um texto, ou pixels se for umaimagem.
wraplength Se o valor for um número positivo,este será utilizado como largura dowidget. Pode estar nas unidadesc (centimetros), i (polegadas), m(milimetros) ou p (1/72 de polegada).
4
Entry
1.2. Entry
1.2.1. Para que é utilizado:
Os widgets Entry são utilizados para criar um campo onde o usuário podeescrever ou ler uma linha única de texto.
1.2.2. Como é criado:
nomeWidget= tk.Entry(pai, opção, ….)
1.2.3. Opções do widget:
Algumas definições importantes: * Um texto inicia sempre no índice 0 *Tkinter.END apponta para a posição logo pós o fim de texto * Tkinter.INSERTaponta para a posição de inserção do caracter * Tkinter.ANCHOR aponta para oprimeiro caracter da seleção, se parte do texto estiver selecionado.
propriedade descrição
bg ou background Cor de fundo da área do widget.Default lightgray
bd ou borderwidth Largura da borda em torno do widget,em pixels. Valor default 2.
cursor Cursor que aparece quando o mouseestá sobre o widget. Existem mais de70 cursores disponíveis. Veja tabelade cursores no capítulo "cursores".
disabledbackground Cor de fundo do widget quando omesmo está no estado tk.DISABLED
disabledforeground Cor de frente do widget quando omesmo está no estado tk.DISABLED
exportselection O texto selecionado éautomaticamente exportado para oclipboard como default. Fazendo estapropriedade = 0 cancelamos estaação.
5
Opções do widget:
propriedade descrição
fg ou foreground Especifica a cor do texto. Para umalista de cores veja o capítulo "Coresno Tkinter"
font Font utilizada no campo do widget
highlightbackground Cor quando o widget não estásalientado
highlightcolor Cor quando o widget está no foco
highlightthickness Expessura quando o widget está emfoco
insertbackground O cursor de inserção de texto épor default preto. Para alterar a corconfigure esta propriedade para a cordesejada
insertborderwidth O cursor de inserção de texto é umretangulo por default. Alterando estapropriedade voce obtem efeitosdiferenciados.
insertofftime Estabelece o tempo desligado docursor de inserção. O valor default é300 ms. Se feita iqual a zero o cursornão pisca
insertontime Estabelece o tempo ligado do cursorde inserção. Default é de 600 ms.
insertwidth A largura do cursor de inserçãodefault é de 2 pixels. Atuando sobreesta propriedade voce modifica paraqualquer valor desejado
justify Especifica o alinhamento daslinhas de texto. Pode assumir umdos seguintes valores: tk.LEFT,tk.CENTER (default), tk.RIGHT.default tk.left
6
Opções do widget:
propriedade descrição
readonlybackground Cor de fundo quando o widget estáno estado 'readonly'.
relief Especifica a aparência da bordadecorativa em torno do widgets. Odefaul é tk.FLAT. Pode assumir osvalores tk_RAISED, tk_SUNKEN,tk_GROOVE ou tk_RIDGE
selectbackground Cor de fundo para a parteselecionada do fundo.
selectborderwidth Largura da borda sobre o textoselecionado. Default 1 pixel.
selectforeground Cor da frente do texto selecionado.
show Para substituir os caracteresdigitados no campo de entrada por "",entrada de senhas, faça show=.
state A condição default é tk.NORMAL.Se feita igual a tk.DISABLE o widgetnão responderá. Quando o mouseestá sobre o objeto o estado passaa tk.ACTIVE. O estado "disabled"protege o widget de novas inserçõesde texto mas permite a cópia eseleção.
takefocus Em condiçoes normais o widget podeficar no foco em função do uso doteclado. Se se você deseja que istoNÂO ocorra, faça takefocus=0.
text O texto aqui especificado irá serapresentado no widget. Para pular delinha use o caracter '\n'.
textvariable Associa o texto do widget a umavariavel do tipo StringVar.
7
Opções do widget:
propriedade descrição
validatecommand Implementa uma função que validao texto do widget. Veja o capítuloespecífico de como fazer isto.
width Largura do widget em caracteres . Odefault é 20.
xscrollcommand Use esta propriedade para o caso deentradas maiores do que o tamanhoda tela. Veja o capítulo específicopara saber como fazer isto.
8
Label
1.3. Label
1.3.1. Para que é utilizado:
Os widgets Label são utilizados para apresentar na tela um texto (uma ou maislinhas) ou uma imagem.
1.3.2. Como é criado:
nomeWidget= tk.Label(pai, opção, ….)
1.3.3. Opções do widget:
propriedade descrição
activebackground Cor de fundo quando o mouse estásobre o widget
activeforeground Cor de frente quando o mouse estásobre o widget
anchor
Controla a posição do texto dentrodo widget. O valor default é o centro(tk.CENTER), mas pode-se escolherentre 9 posições, conforme mostra afigura acima.
bg ou background Cor de fundo da área do label
bitmap endereço do arquivo com a imagem aser apresentada
bd ou borderwidth Largura da borda em torno do widget,em pixels. Valor default 2.
compound Quando usamos texto e imagenssimultanemante no Label,compond especifica a posiçãoda imagem em relação ao
9
Opções do widget:
propriedade descriçãotexto. Os valores possíveis sãotk.LEFT,tk.RIGHT,tk.CENTER,tk.BOTTOM,ou tk.TOP, posicionando o gráficoà esquerda, à direita, no centro,por baixo e por cima do textorespectivamente.
cursor Cursor que aparece quando o mouseestá sobre o Label. Existem mais de70 cursores disponíveis. Veja tabelade cursores no capítulo "cursores".
disabledforeground Cor de frente do widget quando omesmo está no estado tk.DISABLED
font Se o existe texto (opções text outextvariable) esta propriedadeespecifica o font a ser utilizado. Parauma lista dos fontes veja o capítulo"Fonts no TkInter"
fg ou foreground Especifica a cor do texto. Para umalista de cores veja o capítulo "Coresno Tkinter"
height Altura do label em lines, não empixels. Se esta opção não estiverdefinida, o texto irá ocupar todo oespaço disponivel no label.
highlightbackground Cor quando o label não estásalientado
highlightcolor Cor quando o label está no foco
highlightthickness Expessura quando o label está emfoco
image Especifica a imagem a serapresentada. Veja o capítulo"Imagens"
10
Opções do widget:
propriedade descrição
justify Especifica o alinhamento daslinhas de texto. Pode assumir umdos seguintes valores: tk.LEFT,tk.CENTER (default), tk.RIGHT
padx Adiciona espaço (pixels) extra adireita e a esquerda do widget.Default 1 pixel.
pady Adiciona espaço (pixels) acima eabaixo do widget. Default 1 pixel
relief Especifica a aparência da bordadecorativa em torno dos widgets. Odefaul é tk.FLAT. Pode assumir osvalores tk_RAISED, tk_SUNKEN,tk_GROOVE ou tk_RIDGE
state A condição default é tk.NORMAL.Se feita igual a tk.DISABLE o widgetnão responderá ao mouse. Quando omouse está sobre o objeto o estadopassa a tk.ACTIVE.
takefocus Em condiçoes normais o Labelnão assume o foco, mas se vocêdeseja que isto possa ocorrer, façatakefocus=1.
text O texto aqui especificado irá serapresentado no campo do label. Parapular de linha use o caracter '\n'.
textvariable Associa o texto do label a umavariavel do tipo StringVar.
underline Sublinha o caracter especificado. Oparâmetro fornecido é a posição docaracter no texto, iniciando em 0. Ovalor default é -1, que significa semsublinhar.
11
Opções do widget:
propriedade descrição
width Largura do label em caracteres, nãoem pixels. Sd não for especificado, olabel é ajustado para o comprimentodo seu conteúdo.
wraplength O número associado a estapropriedade corresponderá aonúmero máximo de caracteres porlinha. O valor default é zero, quesignifica que a linha somete seráquebrada quando ocorrer um '\n'
12
Menu
1.4. Menu
1.4.1. Para que é utilizado:
Os widgets Menu apresentam uma lista de escolhas para o usuário, e disparamas ações correspondentes a seleção realizada.
As opções podem ser das seguintes formas:
• Um comando único, seja na forma de uma palavra ou de uma figura
• Uma outro menu com diversas opções
• Um checkbutton (veja o capítulo sobre widgets checkbutton).
• Um grupo de radiobuttons. Veja o capítulo sobre radiobuttons
1.4.2. Como é criado:
nomeWidget= tk.Menu(pai, opção, ….)
1.4.3. Opções do widget:
propriedade descrição
activebackground Cor de fundo quando o mouse estásobre o widget
activeborderwidth Especifica a largura do traço sobre aseleção quando o mouse está sobreela. Default 1 pixel. Specifies thewidth of a border drawn around achoice when it is under the mouse.Default is 1 pixel. For possible values,see Section 5.1, “Dimensions”.
activeforeground Cor de frente quando o mouse estásobre o widget
bg ou background Cor de fundo da área do widgetquando o mouse não está sobre ele.Default lightgray
13
Opções do widget:
propriedade descrição
bd ou borderwidth Largura da borda em torno do widget,em pixels. Valor default 2.
cursor Cursor que aparece quando o mouseestá sobre o widget. Existem mais de70 cursores disponíveis. Veja tabelade cursores no capítulo "cursores".
disabledforeground Cor de frente do widget quando omesmo está no estado tk.DISABLED
font Font utilizada no campo do widget
fg ou foreground Especifica a cor do texto quando omouse não está sobre o widget. Parauma lista de cores veja o capítulo"Cores no Tkinter"
postcommand Associe aqui o procedimento a serexecutado sempre que o menu foracionado.
relief Especifica a aparência da bordadecorativa em torno dos widgets. Odefaul é tk.FLAT. Pode assumir osvalores tk_RAISED, tk_SUNKEN,tk_GROOVE ou tk_RIDGE
selectcolor Especifica a cor dos checkbuttonse radiobuttons quando estãoselecionados.
tearoff Normalmente, um menu pode serdestacado. A primeira posição éocupada pelo elemento destacador.Se tearoff=0, o menu não teráesta funcionalidade de poder serdestacado.
tearoffcommand Se você deseja que o seu programaseja avisado de que o usuário clicou
14
Opções do widget:
propriedade descriçãosobre o elemento destacador, façaesta propriedade igual a função a serexecutada quando isto ocorrer.
title Normalmente o título de ummajanela de um menu destacado seráo mesmo texto do menubutton oucascade que direcionou para estemenu. Para usar um título diferentefaça esta propriedade igual ao títuloque você deseja.
15
Menubutton
1.5. Menubutton
1.5.1. Para que é utilizado:
O widget menubutton é a parte do menu que permanece na tela todo otempo. Cada menubutton tem associado a ele um ou mais widgets menu quecorrespondem as opções que o menubuttom oferece.
1.5.2. Como é criado:
nomeWidget= tk.Menubutton(pai, opção, ….)
1.5.3. Opções do widget:
propriedade descrição
activebackground Cor de fundo quando o mouse estásobre o widget
activeforeground Cor de frente quando o mouse estásobre o widget
anchor
Controla a posição do texto dentrodo widget. O valor default é o centro(tk.CENTER), mas pode-se escolherentre 9 posições, conforme mostra afigura acima.
bg ou background Cor de fundo da área do widgetquando o mouse não está sobre ele.Default lightgray
bd ou borderwidth Largura da borda em torno do widget,em pixels. Valor default 2.
bitmap endereço do arquivo com a imagem aser apresentada
16
Opções do widget:
propriedade descrição
compound Quando usamos texto e imagenssimultanemante no widget,compond especifica a posiçãoda imagem em relação aotexto. Os valores possíveis sãotk.LEFT,tk.RIGHT,tk.CENTER,tk.BOTTOM,ou tk.TOP, posicionando o gráficoà esquerda, à direita, no centro,por baixo e por cima do textorespectivamente.
cursor Cursor que aparece quando o mouseestá sobre o widget. Existem mais de70 cursores disponíveis. Veja tabelade cursores no capítulo "cursores".
direction Normalmente o menu apareceabaixo do menubuttom. Paraaparecer a esquerda, faça direction=tk.LEFT, para a direita direction=tk.RIGHT, para posicionar o menuacima do munubuttom acima façadirection='above'
disabledbackground Cor de fundo do widget quando omesmo está no estado tk.DISABLED
disabledforeground Cor de frente do widget quando omesmo está no estado tk.DISABLED
fg ou foreground Especifica a cor do texto quando omouse não está sobre o widget. Parauma lista de cores veja o capítulo"Cores no Tkinter"
font Font utilizada no campo do widget
height Altura do widget em lines, não empixels. Se esta opção não estiver
17
Opções do widget:
propriedade descriçãodefinida, o texto irá ocupar todo oespaço disponivel no widget.
highlightbackground Cor quando o widget não estásalientado
highlightcolor Cor quando o widget está no foco
highlightthickness Expessura quando o widget está emfoco
image Especifica a imagem a serapresentada. Veja o capítulo"Imagens"
justify Especifica o alinhamento daslinhas de texto. Pode assumir umdos seguintes valores: tk.LEFT,tk.CENTER (default), tk.RIGHT
menu Para associar o menubutton comum conjunto de escolhas, faça estaopção igual ao widget qeu contem oconjunto de opções.
padx Adiciona espaço (pixels) extra adireita e a esquerda do widget.Default 1 pixel.
pady Adiciona espaço (pixels) acima eabaixo do widget. Default 1 pixel
relief Especifica a aparência da bordadecorativa em torno dos widgets. Odefaul é tk.FLAT. Pode assumir osvalores tk_RAISED, tk_SUNKEN,tk_GROOVE ou tk_RIDGE
state A condição default é tk.NORMAL.Se feita igual a tk.DISABLE o widgetnão responderá. Quando o mouseestá sobre o objeto o estado passa
18
Opções do widget:
propriedade descriçãoa tk.ACTIVE. O estado "disabled"protege o widget de novas inserçõesde texto mas permite a cópia eseleção.
takefocus Em condiçoes normais o widget podeficar no foco em função do uso doteclado. Se se você deseja que istoNÂO ocorra, faça takefocus=0.
text O texto aqui especificado irá serapresentado no widget. Para pular delinha use o caracter '\n'.
textvariable Associa o texto do widget a umavariavel do tipo StringVar.
underline Sublinha o caracter especificado. Oparâmetro fornecido é a posição docaracter no texto, iniciando em 0. Ovalor default é -1, que significa semsublinhar.
width Largura do widget em caracteres . Odefault é 20.
wraplength Normalmente, a linha de texto não épartida. Voce pode utilizar esta opçãopara especificar o número máximo decaracteres por linha
19
20