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: 7794 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:

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Número de Froude

O número de Froude (Fr) é um coeficiente adimensional, frequentemente utilizado na hidráulica de condutos abertos para determinar a classificação do regime que o escoamento livre apresenta. Quando o Fr é igual a 1, o regime é classificado como crítico; com Fr > 1, o regime é supercrítico; e com Fr < 1, o regime é subcrítico.

Sobre esta classificação afirma-se que:

A) No regime crítico há equílibrio de forças e a velocidade é menor que a celeridade.

B) No regime supercrítico, o escoamento é mais influenciado pelas forças gravitacionais.

C) No regime supercrítico, o escoamento é regido pelas energias cinéticas e inerciais.

D) No regime subcrítico ou torrencial, as forças gravitacionais regem o escoamento.

E) No regime crítico não há equilíbrio entre as energias que influenciam o escoamento.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

var palavra = 'b' + 'a' + + 'a' + 'a';
palavra = palavra.toLowerCase();
document.write(palavra);

Qual é o resultado de sua execução?

A) baaa.

B) banana.

C) anana.

D) bananas.

E) Um erro de execução.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

Os princípios éticos que norteiam a prática profissional dos engenheiros não são definidos por uma única entidade ou indivíduo específico. Há diferentes fontes e organizações que estabelecem a conduta ética a ser seguida por esses profissionais.

Assinale a alternativa que melhor apresenta essas fontes e organizações, segundo Cocian (2016):

A) Organizações profissionais, legislação e regulamentações, instituições de ensino, experiência profissional.

B) A Associação Mundial de Engenheiros, o Conselho de Ética, a Sociedade Internacional de Engenheiros e a Federação Internacional de Engenharia (FIE).

C) Os códigos de ética redigidos pelas empresas Apple, Microsoft, Google e Amazon.

D) As diretrizes éticas de partidos políticos, organizações ambientais, grupos de consumidores e clubes esportivos.

E) Os princípios éticos estabelecidos por escritores famosos, celebridades, filósofos antigos e artistas renomados.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Java

Analise o seguinte código Java

public class Estudos {
  public static void main(String[] args) {
    int a = 3;
    System.out.println(++a * 8);
  }
}

Qual é o resultado de sua execução?

A) 24

B) 32

C) 72

D) 25
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Questões de Concurso Engenharia Civil - Fundações

COPEL - No estudo do subsolo para projeto de fundações, o número de golpes dados com um peso padrão, caindo em queda livre, de uma altura constante, necessários para a penetração de um amostrador padrão à profundidade de 30cm é denominado:

A) Índice coesivo.

B) Índice SPT.

C) Carga morta.

D) Índice de resistência à penetração.

E) Carga aparente.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de Qt

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

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



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