Python 3 - caixa de listagem Tkinter

O widget Listbox é usado para exibir uma lista de itens a partir da qual um usuário pode selecionar vários itens

Sintaxe

Aqui está a sintaxe simples para criar este widget -

w = Listbox ( master, option, ... )

Parâmetros

  • master - Isso representa a janela pai.

  • options- Aqui está a lista das opções mais comumente usadas para este widget. Essas opções podem ser usadas como pares de valores-chave separados por vírgulas.

Sr. Não. Opção e descrição
1

bg

A cor de fundo normal exibida atrás do rótulo e do indicador.

2

bd

O tamanho da borda ao redor do indicador. O padrão é 2 pixels.

3

cursor

O cursor que aparece quando o mouse está sobre a caixa de listagem.

4

font

A fonte usada para o texto na caixa de listagem.

5

fg

A cor usada para o texto na caixa de listagem.

6

height

Número de linhas (não pixels!) Mostrado na caixa de listagem. O padrão é 10.

7

highlightcolor

Cor mostrada no destaque de foco quando o widget tem o foco.

8

highlightthickness

Espessura do destaque do foco.

9

relief

Seleciona efeitos de sombreamento de borda tridimensionais. O padrão é SUNKEN.

10

selectbackground

A cor de fundo a ser usada para exibir o texto selecionado.

11

selectmode

Determina quantos itens podem ser selecionados e como arrastar o mouse afeta a seleção -

  • BROWSE- Normalmente, você só pode selecionar uma linha de uma caixa de listagem. Se você clicar em um item e arrastar para uma linha diferente, a seleção seguirá o mouse. Este é o padrão.
  • SINGLE - Você só pode selecionar uma linha e não pode arrastar o mouse. Onde quer que você clique no botão 1, essa linha é selecionada.
  • MULTIPLE- Você pode selecionar qualquer número de linhas de uma vez. Clicar em qualquer linha alterna se ela está selecionada ou não.
  • EXTENDED - Você pode selecionar qualquer grupo adjacente de linhas de uma vez clicando na primeira linha e arrastando para a última linha.
12

width

A largura do widget em caracteres. O padrão é 20.

13

xscrollcommand

Se quiser permitir que o usuário role a caixa de listagem horizontalmente, você pode vincular o widget da caixa de listagem a uma barra de rolagem horizontal.

14

yscrollcommand

Se você deseja permitir que o usuário role a caixa de listagem verticalmente, pode vincular o widget da caixa de listagem a uma barra de rolagem vertical.

Métodos

Métodos em objetos de caixa de listagem incluem -

Sr. Não. Opção e descrição
1

activate ( index )

Seleciona a linha especificada pelo índice fornecido.

2

curselection()

Retorna uma tupla contendo os números da linha do elemento ou elementos selecionados, contando a partir de 0. Se nada for selecionado, retorna uma tupla vazia.

3

delete ( first, last = None )

Exclui as linhas cujos índices estão no intervalo [primeiro, último]. Se o segundo argumento for omitido, a única linha com o índice primeiro será excluída.

4

get ( first, last = None )

Retorna uma tupla contendo o texto das linhas com índices do primeiro ao último, inclusive. Se o segundo argumento for omitido, retorna o texto da linha mais próxima do primeiro.

5

index ( i )

Se possível, posicione a parte visível da caixa de listagem de forma que a linha que contém o índice i fique no topo do widget.

6

insert ( index, *elements )

Insira uma ou mais novas linhas na caixa de listagem antes da linha especificada pelo índice. Use END como o primeiro argumento se quiser adicionar novas linhas ao final da caixa de listagem.

7

nearest ( y )

Retorne o índice da linha visível mais próxima da coordenada y y em relação ao widget de caixa de listagem.

8

see ( index )

Ajuste a posição da caixa de listagem para que a linha referida pelo índice seja visível.

9

size()

Retorna o número de linhas na caixa de listagem.

10

xview()

Para tornar a caixa de listagem rolável horizontalmente, defina a opção de comando da barra de rolagem horizontal associada para este método.

11

xview_moveto ( fraction )

Role a caixa de listagem para que a fração mais à esquerda da largura de sua linha mais longa esteja fora do lado esquerdo da caixa de listagem. A fração está no intervalo [0,1].

12

xview_scroll ( number, what )

Rola a caixa de listagem horizontalmente. Para o argumento what, use UNITS para rolar por caracteres ou PAGES para rolar por páginas, ou seja, pela largura da caixa de listagem. O argumento do número diz quantos rolar.

13

yview()

Para tornar a caixa de listagem rolável verticalmente, defina a opção de comando da barra de rolagem vertical associada a este método.

14

yview_moveto ( fraction )

Role a caixa de listagem para que a fração superior da largura de sua linha mais longa esteja fora do lado esquerdo da caixa de listagem. A fração está no intervalo [0,1].

15

yview_scroll ( number, what )

Rola a caixa de listagem verticalmente. Para o argumento what, use UNITS para rolar por linhas ou PAGES para rolar por páginas, ou seja, pela altura da caixa de listagem. O argumento do número diz quantos rolar.

Exemplo

Experimente o seguinte exemplo -

# !/usr/bin/python3
from tkinter import *

import tkinter

top = Tk()

Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")

Lb1.pack()
top.mainloop()

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -