20 InputWidgets之QComboBox

QComboBox小部件是一个组合按钮和弹出列表。

如:

image
QComboBox提供了一种向用户显示选项列表的方法,这种方法占用最少的屏幕空间。
combobox是一个显示当前项的选择小部件,可以弹出可选项的列表。组合框可以编辑,允许用户修改列表中的每个项。
组合框可以包含像素图和字符串;

insertItem()和setItemText()函数被适当地重载。对于可编辑的组合框,提供了clearEditText()函数,用于在不更改组合框内容的情况下清除显示的字符串。
如果组合框的当前项发生更改,将发出两个信号:currentIndexChanged()和activated()。currentIndexChanged()总是发出,无论更改是通过编程方式完成的还是通过用户交互完成的,而activated()只在更改是由用户交互引起时发出。当用户突出显示combobox弹出列表中的项目时,将发出高亮显示的()信号。

这三个信号都有两个版本,一个带有QString参数,另一个带有int参数。如果用户选择或突出显示一个pixmap,只会发出int信号。无论何时修改可编辑组合框的文本,都会发出editTextChanged()信号。

第一步:先到UI界面拖一个QComBox部件

第二步:添加下拉列表

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QStringList str;
    str << "老一" << "老二" << "老三"<< "老四";
    ui->comboBox->insertItems(0, str);
}

运行结果:

第三步:设置一下菜单的字体

    QFont font( "Microsoft YaHei", 10, 75); //第一个属性是字体(微软雅黑),第二个是大小,第三个是加粗(权重是75),
    ui->comboBox->setFont(font);

运行结果:

第四步:插入图标

   ui->comboBox->setItemIcon(1, QIcon("://image/menu.png"));

下拉列表是从0开始的。

第五步:插入项目

    ui->comboBox->insertItem(1, QString("老六"));

运行结果:

第六步:添加信号与槽

connect(ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(comboBoxIndexChanged(int))); //实现信号与槽的连接

void Widget::comboBoxIndexChanged(int)
{
    qDebug()<<ui->comboBox->currentText()<<endl;  //输出当前选项的字符串
}
currentIndexChanged是当前选项改变的信号。

常用函数:

addItem()             //增加一个下拉选项
setMaxVisibleItems()  //设置下拉项最多显示几个,超过个数使用滚动条。
setInsertPolicy()      //设置插入方式 
currentIndex()         //当前项索引
currentText()         //当前项文本
findText("abc")     //获得adc内容的索引
currentIndexChanged(int)  //当前索引改变信号
insertItem()               //插入项目
setItemIcon()                 //设置图标
setFont()                   //设置字体

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值