Você está aqui: Qt ::: Classes, Controles e Componentes ::: QComboBox

Entenda a classe QComboBox e aprenda a usar este controle em seus programas Qt

Quantidade de visualizações: 7862 vezes


A classe QComboBox permite a criação de controles conhecidos como ComboBox ou caixa de combinação, por combinar um botão e uma lista pop-up. Este controle é muito usado quando precisamos apresentar ao usuário uma lista de opções sem ocupar muito espaço na tela da aplicação.

O trecho de código abaixo mostra como inserir um controle QComboBox em uma janela diálogo. Ao clicar no botão, uma mensagem contendo o texto do item selecionado no QComboBox será exibida. Comece analisando o código para a definição da classe Dialogo (dialogo.h):
#ifndef DIALOGO_H
#define DIALOGO_H

#include <QDialog>

class QPushButton;
class QComboBox;

class Dialogo : public QDialog
{
  Q_OBJECT

  public:
    Dialogo(QWidget *parent = 0);

  private:
    // referência a um QPushButton
    QPushButton *btnOK;
    // referência a um QComboBox
    QComboBox *cbItens;

  private slots:
    // slot para o evento click do botão
    void btnOKClicked();
};

#endif
O mais importante a considerar aqui é a declaração de uma referência a um QComboBox:
QComboBox *cbItens;
Veja agora o código para a implementação da classe Dialogo (dialogo.cpp):
#include <QtGui>

#include "dialogo.h"

Dialogo::Dialogo(QWidget *parent)
  : QDialog(parent)
{
  // cria o QComboBox  
  cbItens = new QComboBox();
  // define a largura e altura do combobox
  cbItens->setMinimumSize(120, 22);

  // insere três itens no combobox
  cbItens->addItem("Goiânia", 0);
  cbItens->addItem("Curitiba", 0);
  cbItens->addItem("Cuiabá", 0);

  // cria o QPushButton
  btnOK = new QPushButton(tr("&Ok"));
  btnOK->setDefault(true);
  btnOK->setMinimumSize(50, 24);

  // conecta o botão ao slot btnOKClicked()
  connect(btnOK, SIGNAL(clicked()),
    this, SLOT(btnOKClicked()));
  
  QHBoxLayout *layout = new QHBoxLayout;
  layout->addWidget(cbItens);
  layout->addWidget(btnOK);
  layout->setAlignment(Qt::AlignTop | Qt::AlignLeft);

  setLayout(layout);

  setWindowTitle(tr("Estudos Qt"));
  resize(300, 150);
}

void Dialogo::btnOKClicked()
{
  // vamos obter o texto do item selecionado
  // no combobox
  QString item = cbItens->itemText(
    cbItens->currentIndex());
 
  // exibe uma mensagem
  QMessageBox::information(this, 
    "Mensagem", 
    tr("O ítem selecionado é: %1").arg(item));
}
Observe as linhas que criam o QComboBox e adicionam três itens no controle:
// cria o QComboBox  
cbItens = new QComboBox();
// define a largura e altura do combobox
cbItens->setMinimumSize(120, 22);

// insere três itens no combobox
cbItens->addItem("Goiânia", 0);
cbItens->addItem("Curitiba", 0);
cbItens->addItem("Cuiabá", 0);
Para finalizar, analise o trecho de código que obtém o texto do item selecionado:
// vamos obter o texto do item selecionado
// no combobox
QString item = cbItens->itemText(
  cbItens->currentIndex());
 
// exibe uma mensagem
QMessageBox::information(this, 
  "Mensagem", 
  tr("O ítem selecionado é: %1").arg(item));


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Qt

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 33 usuários muito felizes estudando em nosso site.