相关文章推荐

如果QComboBox下拉框文字重叠,在设置好样式之后,在后面加 setView(new QListView())即可;

m_comboRate = new QComboBox();
m_comboRate->setFixedSize(700,74);
m_comboRate->setStyleSheet(QString(“QComboBox{border: 1px solid #949494;border-radius:5px;”
“font-family:MicrosoftYaHei;font-size:30px;color:#333333;}”
“QComboBox QAbstractItemView{border: 0px;outline:0px;”
“selection-background-color: #26409b;height:100px;font:30px;}”
“QComboBox::drop-down {width: 60px;border-left-width: 0px;”
“border-left-color: gray;border-left-style: solid;”
“image: url(%1);}”
“QComboBox::down-arrow:hover{image:url(%2);}”).arg(SKINPATH+"/pull.png").arg(
SKINPATH+"/pull_checked.png"));
m_comboRate->setView(new QListView());

border: 1px solid gray; /* 边框 */ border-radius: 3px; /* 圆角 */ padding: 1px 18px 1px 3px; /* 字体填衬 */ color: #000; font: normal normal 15px... 在 Qt 目中很少会用 Qt 原生的控件风格,有时候需要自己去设置控件的有的属性和风格,但是当设置 QComboBox 控件时有时候会遇到 下拉 框中的item不起作用,主要原因是没有设置QList View ,具体如下: 1.首先给ComboBox设置 view : ui->comboBox-> set View (new QList View ()); 注意:这一句需要放在在所在界面的构造函数里,否则不生效。 2.给comboBox设置样式,可以在creater里设置,也可以调用接口 设置: Qt 提供的 QComboBox 下拉列表 组合控件是非常好用的,既可以当成QLineEdit做编辑用也提供了一个 下拉列表 供用户选择。当然也有其不好的地方,就是使用Qss样式的时候只能对其表层进行修改 下拉列表 不生效;如果想要在Qss对 下拉列表 修改还得重新设置它的QList View ;如果你想要设置item的高度结果有可能还会导致item的 重叠 ,因为可能你设置的item高度后他内存并没有重新计算。 下拉列表 样式不生效 QComboBox { padding: 0 5px; 摘自:https://www.jianshu.com/p/670de4f63689 QList View 可以用来以列表的形式展示数据,在 Qt 中使用model/ View 结构来管理数据与视图的关系,model负责数据的存取,数据的交互通过delegate来实现。 添加数据模型 QT 提供了一些现成的models用于处理数据 : QStringListModel 用于存储简单的QString列表。 HTML中的 下拉列表 :Html代码<select><optionvalue="1">Volvo</option><optionvalue="2">Saab</option><optionvalue="3">Opel</option><optionvalue="4">Audi</option>... 当给 QComboBox 设置行交替使用不同颜色后,两个相邻的item文字有 重叠 ui.comboBox-> view ()-> set AlternatingRowColors(true); 解决方法: 在 Qt Designer中给comboBox的字体点大小设置为当前实际要展示的文字大小,默认为9,如果我们的文字要显示12px,将其改为12。
 
推荐文章