版权声明:本文为博主原创文章,未经博主允许不得转载,博客地址:http://blog.csdn.net/mars_xiaolei。 https://blog.csdn.net/mars_xiaolei/article/details/88392364
comboBox组合框说明
comboBox组合框是一个显示当前项目的选择小部件,其实就是编辑框和下拉列表框的组合,占用的屏幕空间小,可以弹出可选项目列表,组合框可以包含像素图和字符串,组合框的项目内容可以添加和插入,也可以删除。
完整项目代码下载( 带图标)
百度网盘:https://pan.baidu.com/s/1Ti2r92QJUGCeBGeTz8b56A
提取码:750o
CSDN下载:
comboBox组合框使用示例
打开Qt,新建一个Qt Widgets Application项目,添加1个comboBox组合框、3个lineEdeit编辑框和2个pushButton按钮,修改控件的名字,然后添加代码如下。
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void PrintText();
void AddList();
void InsertList();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug"
#include "QStringList"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle(tr("comboBox简单示例"));
connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(PrintText()));
connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(AddList()));
connect(ui->pushButton_2, SIGNAL(clicked(bool)), this, SLOT(InsertList()));
//添加背景图片
/*
QPixmap pixmap(":/images/琴女.jpg");
pixmap.scaled(QSize(ui->label_2->width(),ui->label_2->height()),Qt::KeepAspectRatioByExpanding);
ui->label_2->setPixmap(pixmap);
ui->label_2->show();
*/
//设置编辑框只读
ui->lineEdit->setReadOnly(true);
/*
QStringList text;
text<<tr("苹果")<<tr("华为")<<tr("三星")<<tr("小米")<<tr("OPPO");
ui->comboBox->addItems(text);
*/
//此代码为添加图标
/*
ui->comboBox->addItem(QIcon(":/images/phone.ico"),tr("苹果"));
ui->comboBox->addItem(QIcon(":/images/phone.ico"),tr("华为"));
ui->comboBox->addItem(QIcon(":/images/phone.ico"),tr("三星"));
ui->comboBox->addItem(QIcon(":/images/phone.ico"),tr("小米"));
ui->comboBox->addItem(QIcon(":/images/phone.ico"),tr("OPPO"));
*/
//此代码为不添加图标
ui->comboBox->addItem(tr("苹果"));
ui->comboBox->addItem(tr("华为"));
ui->comboBox->addItem(tr("三星"));
ui->comboBox->addItem(tr("小米"));
ui->comboBox->addItem(tr("OPPO"));
}
MainWindow::~MainWindow()
{
delete ui;
}
//打印文本内容
void MainWindow::PrintText()
{
int index=0;
index=ui->comboBox->currentIndex();
//打印文本内容
qDebug()<<"实验记录:"<<ui->comboBox->itemText(index);
//显示项目内容到编辑框
ui->lineEdit->setText(ui->comboBox->itemText(index));
}
//在末尾添加
void MainWindow::AddList()
{
//不带图标
ui->comboBox->addItem(QIcon(":/images/phone.ico"),ui->lineEdit_2->text());
//带图标
//ui->comboBox->addItem(QIcon(":/images/phone.ico"),ui->lineEdit_2->text());
}
//在任意位置插入
void MainWindow::InsertList()
{
int num=0;
//将QString转换为int
num=ui->lineEdit_3->text().toInt();
//根据序号和文本内容插入,不带图标
ui->comboBox->insertItem(num,ui->lineEdit_2->text());
//根据序号和文本内容插入,带图标
//ui->comboBox->insertItem(num,QIcon(":/images/phone.ico"),ui->lineEdit_2->text());
}