问题描述
我们平时在使用Qt Creator对控件QComboBox的样式进行设置后,在运行程序启动界面时,发现设置的样式无效,效果如下:
/* 设置下拉菜单框的样式 */
QComboBox QAbstractItemView
{border: 1px solid rgb(161,161,161); /* 下拉菜单框的边框样式 */
}/* 设置下拉菜单中每项的样式 */
QComboBox QAbstractItemView::item
{height: 20px; /* 下拉菜单每项的高度 */
}/* 设置下拉菜单选中项的样式 */
QComboBox QAbstractItemView::item:selected
{ background-color: rgb(54, 98, 180); /* 下拉菜单选中项的背景色 */
}
解决办法
详细代码如下:
#include "link.h"
#include "ui_link.h"
#include <QPropertyAnimation>
#include <QEasingCurve>
#include <QStyledItemDelegate>
#include <QAbstractAnimation>Link::Link(QWidget *parent) : QWidget(parent), ui(new Ui::Link) {ui->setupUi(this);// 设置界面为无边框样式this->setWindowFlag(Qt::FramelessWindowHint);// 设置背景透明this->setAttribute(Qt::WA_TranslucentBackground);// 调用函数,获取串口信息listAvailablePorts();ui->comboBox_2->setCurrentIndex(6); // 切换波特率为9600选择值// 创建一个串口对象serial = new QSerialPort(this);// 用于定义QComboBox下拉列表的样式用,不定义的话,下拉列表的样式设置是无效的ui->comboBox->setItemDelegate(new QStyledItemDelegate(this));connectSignal(); // 调用初始化信号与槽函数
}