qt5之下拉列表框QComboBox

QComboBox提供了下拉列表框的控件。下面简单介绍几个的方法和属性。
 (1)addItems
  void addItem(const QString &text, const QVariant &userData = QVariant())
  void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
(2)currentText 在列表的最后一项添加一个文本内容为test选项
   QString currentText() const  返回下拉列表框中当前选中的文本
(3)count int count() const 返回当前列表框中选项数量
(4)currentIndex  int currentIndex() const 返回当前列表框中选中文本的序号

//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include 
class QComboBox;
class MyDialog : public QDialog
{
  Q_OBJECT
public:
  explicit MyDialog(QWidget *parent = 0);
signals:
public slots:
  void onChanged(int index);
private:
  QComboBox *comboBox;
};
#endif 

//mydialog.cpp

#include "mydialog.h"
#include 
#include 
#include 
 
MyDialog::MyDialog(QWidget *parent) :
  QDialog(parent)
{
    combobox = new QComboBox(this);
    combobox ->setGeometry(50,50,200,300);
    combobox->addItem(tr("Circle"));
    combobox->addItem(tr("Pology"));
    
    //利用重写向combobox加入图标
    combobox->addIteam(QIcon("\home\ttang\1.png"),"circle");
    combobox->addIteam(QIcon("\home\ttang\3.png"),"Pology");
    QGridLayout *mainLayout = new QGridLayout(this);  //网络布局
    mainLayout->addWidget(combobox,0,0);
    
   connect(combobox,SIGNAL(currentIndexChanged(int)),this,SLOT(valueChanged()));
   
    qDebug() << "Now there are " << combobox->count() << "Items";
    qDebug() << "The current item is" << combobox->currentText();
}
 
void MyDialog::valueChanged()
{
    int currentIndex = combo->currentIndex();
    QString currentText = combo->currentText();
    qDebug()<
//main.cpp
#include  
#include "mydialog.h"
 
int main(int argc, char *argv[]) 
{
 
  QApplication a(argc, argv);
 
  MyDialog dialog;
 
  dialog.show();
 
  return a.exec();
 
}

你可能感兴趣的:(qt5)