QT 4-6 下拉列表

dialog.h   :

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include<QComboBox>
class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
public slots:
    void onChanged(int index);

private:
    QComboBox *comBox;


};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include<QMessageBox>
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    comBox =new QComboBox(this);
    comBox->setGeometry(20,20,100,30);
    QIcon icon1(":/ftp.ico");
    comBox->addItem(icon1,"ftp");
    QIcon icon2("/WWW.ico");
    comBox->addItem("WWW");
    comBox->setItemIcon(1,icon2);
    connect(comBox,SIGNAL(currentIndexChanged(int)),this,SLOT(onChanged(int)));
    this->resize(400,300);
    this->setWindowTitle("QComboBox");
   }


Dialog::~Dialog()
{

}

void Dialog::onChanged(int index)
{
    QMessageBox::warning(this,"消息",comBox->itemText(index),QMessageBox::Ok);
}

main.cpp:

#include "dialog.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}

QT 4-6 下拉列表