Pitão

Como usar o PyQt QComboBox

Como usar o PyQt QComboBox

UMA Caixa combo é usado para selecionar um item de uma lista de itens, bem como o botão de rádio. O QComboBox classe de PyQt é usada para criar listas suspensas usando o script Python. Ele traz uma lista de itens para o usuário selecionar. Os itens da ComboBox podem ser adicionados, alterados e removidos usando o script. Vários itens podem ser selecionados como o botão CheckBox da lista de itens do ComboBox, então é chamado de ListBox. Este tutorial mostra como usar QComboBox para criar uma lista suspensa em Python.

Métodos QComboBox

A classe QComboBox contém muitos métodos para realizar várias tarefas relacionadas ao ComboBox. Alguns dos métodos mais comumente usados ​​desta classe são descritos abaixo:

Nome do Método Objetivo
contar() Usado para contar o número total de itens na lista.
adicionar Item() Usado para adicionar um único item novo à lista.
adicionar itens() Usado para adicionar vários itens à lista.
itemText () Usado para ler o texto de um item específico com base em um índice.
setItemText () Usado para definir o texto de um item específico com base em um índice.
currentText () Usado para ler o texto do item selecionado.
currentIndex () Usado para ler o índice do item selecionado.
Claro() Usado para deletar todos os itens da lista.
em destaque() Usado quando um item da lista é destacado.
ativado() Usado quando um item é selecionado pelo usuário.
currentIndexChanged () Usado quando o item da lista mudou.

Uso do ComboBox

As seções a seguir fornecem exemplos que explicam alguns usos diferentes do ComboBox usando o módulo QComboBox da biblioteca PyQt.

Exemplo 1: criar uma lista suspensa simples

Este exemplo mostra como criar uma lista suspensa simples usando a classe QComboBox. Aqui, uma lista suspensa de cinco elementos é criada e anexada a uma função personalizada que imprimirá o valor selecionado da lista. Um rótulo é usado na função da lista suspensa para exibir texto estático e outro rótulo é usado abaixo da lista suspensa para mostrar o valor selecionado.

# Importe os módulos necessários
import sys
de PyQt5.Importação de QtWidgets (QApplication, QWidget, QLabel, QVBoxLayout, QComboBox)
# Declare a classe para criar o ComboBox
classe ComboExample (QWidget):
def __init __ (self):
super().__iniciar__()
# Defina o rótulo antes do ComboBox
auto.topLabel = QLabel ('Selecione sua linguagem de programação favorita:', self)
# Defina a combobox com itens
combobox = QComboBox (self)
caixa combo.addItem ('PHP')
caixa combo.addItem ('Python')
caixa combo.addItem ('Perl')
caixa combo.addItem ('Bash')
caixa combo.addItem ('Java')
# Defina o rótulo após o ComboBox
auto.bottomLabel = QLabel (", self)
auto.bottomLabel.AdjustSize ()
# Definir caixa de layout vártico
v_layout = QVBoxLayout ()
v_layout.addWidget (self.topLabel)
v_layout.addWidget (combobox)
v_layout.addWidget (self.bottomLabel)
# Chame o método personalizado se algum item for selecionado
caixa combo.ativado [str].conectar (eu mesmo.onSelected)
# Defina as configurações para a janela
auto.setContentsMargins (20, 20, 20, 20)
auto.setLayout (v_layout)
auto.mover (800, 300)
auto.setWindowTitle ('Uso de ComboBox')
# Função personalizada para ler o valor do item selecionado
def onSelected (self, txtVal):
txtVal = "\ nVocê selecionou:" + txtVal
auto.bottomLabel.setText (txtVal)
# Crie um objeto de aplicativo e execute o aplicativo
app = QApplication (sys.argv)
combobox = ComboExample ()
caixa combo.mostrar()
aplicativo.exec ()

Se o usuário clicar na lista suspensa após executar o script, a lista a seguir aparecerá.

Se o usuário selecionar o valor Bash na lista suspensa, o valor do segundo rótulo será alterado para 'Você selecionou: Bash.'

Exemplo 2: Criar uma ComboBox usando a lista

No exemplo anterior, a lista suspensa foi criada com dados estáticos usando o método addItem () da classe QComboBox. Este exemplo mostra como adicionar vários itens na lista suspensa, definindo uma lista Python. Primeiro, adicionaremos texto estático ao primeiro item da lista suspensa usando o método addItem (). A seguir, definiremos uma lista de cinco elementos no script e adicionaremos esses elementos à lista suspensa usando o método addItems (). Uma função personalizada é anexada à lista suspensa para exibir a mensagem no rótulo com base na seleção do usuário.

# Importe os módulos necessários
import sys
de PyQt5.Importação de QtWidgets *
# Declare a classe para criar combobox usando dados de lista
classe ComboExample (QMainWindow):
def __init __ (self):
super().__iniciar__()
# Defina o título da janela
auto.setWindowTitle ("ComboBox com dados de lista")
# Defina a geometria da janela
auto.setGeometry (100, 100, 350, 150)
# Criar combobox
auto.combobox = QComboBox (self)
# Defina a geometria para a caixa de combinação
auto.caixa combo.setGeometry (30, 30, 200, 30)
# Defina os itens da lista para o combobox
src_engines = ["google.com "," yahoo.com "," pergunte.com "," baidu.com "," yandex.com "]
# Habilite a opção editável da combobox
auto.caixa combo.setEditable (True)
# Defina o primeiro item para a caixa de combinação
auto.caixa combo.addItem ("Selecionar mecanismo de pesquisa")
# Adicionar vários itens na combobox usando a lista
auto.caixa combo.addItems (src_engines)
# Defina o rótulo na parte inferior da caixa de combinação para fornecer uma mensagem para o usuário
auto.msgLabel = QLabel (", self)
# Defina a geometria do rótulo
auto.msgLabel.setGeometry (30, 60, 290, 60)
# Chame a função personalizada quando qualquer item for selecionado
auto.caixa combo.ativado [str].conectar (eu mesmo.onClicked)
# Mova a posição da janela
auto.mover (800, 400)
# Exibir a janela
auto.mostrar()
# Defina um método para lidar com o evento de clique do Combobox
def onClicked (self, val):
# Verifique se qualquer item foi selecionado pelo usuário ou não
if val == "Selecionar mecanismo de pesquisa":
mensagem = "Você não selecionou nada."
senão:
mensagem = "Seu mecanismo de pesquisa favorito é" + val
# Exibir o texto da mensagem no rótulo
auto.msgLabel.setText (mensagem)
# Exibir a mensagem no console
imprimir (mensagem)
# Crie o objeto de aplicativo
app = QApplication (sys.argv)
# Crie um objeto do objeto de classe
combo = ComboExample ()
# Execute o aplicativo
aplicativo.exec ()

Se o usuário clicar na lista suspensa após executar o script, a lista a seguir aparecerá.

Se o usuário selecionar qualquer item, exceto o primeiro item da lista suspensa, o valor selecionado será mostrado no rótulo ao ser combinado com o outro texto.

Se o usuário selecionar o primeiro item da lista suspensa, o valor, 'Você não selecionou nada'será mostrado na etiqueta.

Conclusão

Este artigo mostrou como criar e usar listas suspensas em Python usando o QComboBox classe usando exemplos simples para ajudá-lo a entender melhor o uso desta classe.

Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...