QComboBox *editor = new QComboBox(this);
comboBox->addItems(QStringList()<<tr("Always")<<tr("Never")<<tr("Motion detection")<<tr("Timer recording"));
QVariant v(0);
// 序号为2的选项(第三个)不可选
comboBox->setItemData(2, v, Qt::UserRole - 1);
                    QComboBox *editor = new QComboBox(this);comboBox-&gt;addItems(QStringList()&lt;&lt;tr("Always")&lt;&lt;tr("Never")&lt;&lt;tr("Motion detection")&lt;&lt;tr("Timer recording"));QVariant v(0);// 序号为2的...
Qt提供的QComboBox下拉列表组合控件是非常好用的,既可以当成QLineEdit做编辑用也提供了一个下拉列表供用户择。当然也有其不好的地方,就是使用Qss样式的时候只能对其表层进行修改下拉列表不生效;如果想要在Qss对下拉列表修改还得重新设置它的QListView;如果你想要设置item的高度结果有可能还会导致item的重叠,因为可能你设置的item高度后他内存并没有重新计算。
下拉列表样式不生效
QComboBox{    
    padding: 0 5px;
				
转载请注明来源:http://blog.csdn.net/imred Qt的QComboBox在不同平台下有所差异(主要是不可编辑的QComboBox),如下样式A和样式B: 左边为样式A为“fusion”样式,在ubuntu下的样式似乎就是这个,它的特点是下拉列表会把文字框和箭头盖住。右边样式B为“windowsvista”样式,它是win10下Qt的默认样式,其特点是下拉列表会显示在文
Qt项目很少会用Qt原生的控件风格,有时候需要自己去设置控件的有的属性和风格,但是当设置QComboBox控件时有时候会遇到下拉框的item不起作用,主要原因是没有设置QListView,具体如下: 1.首先给ComboBox设置view: ui->comboBox->setView(new QListView()); 注意:这一句需要放在在所在界面的构造函数里,否则不生效。 2.给comboBox设置样式,可以在creater里设置,也可以调用接口 设置
QVariant v(0); m_cbxMode->setItemData(1, v, Qt::UserRole - 1); m_cbxMode->setItemData(2, v, Qt::UserRole - 1); QVariant v(1 | 32); 1、count();用于计算当前Combox一共有几个item。 2、itemText(int i);参数 i 是需要查看item的索引。 用来查看当前item的text(文本信息)。 for(int i = 0; i < ui->comboBox_displayDev->count(); i++) if(ui->comboBox_displayDev->itemText(i) == willFindText) 下拉列表设置当前显示的值,没有设置成功,是因为还需在设置前要设置下拉列表的可编辑属性为true,否则直接使用 函数setCurrentText()设置不能成功。 const QString & strDefultSid = m_sidStrList[0];//字符串 ui->sidComboBox->setEditable(true);//设置可编辑,否则设置不了当前值 ui->sidComboBox->setCurrentText(