Qt中QComboBox中自定义界面使用stylesheet实现下拉按钮独立效果

使用QSS自定义控件界面时,QT中控件QCombobox含有两个子控件drop-down和down-arrow.一般而言,当改变QCombox时,很多效果都会出来,但是,针对下拉按钮和下拉图标的自定义效果需要通过QComboBox::drop-down和QComboBox::down-arrow来定义.

下面我们将展示去除下拉按钮的下拉效果.

1 QComboBox{
2     background:white;
3 }
4 QComboBox::drop-down {
5     border:none;
6 }
7 QComboBox::down-arrow {
8      image: url(:/ui/1downarrow.png);
9 }
QT QCombobox的qss代码

这个代码就实现了去除下拉按钮,保留了下拉图标的方案.

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 
 4 
 5 #include <QFile>
 6 #include <QTextStream>
 7 #include <QDebug>
 8 MainWindow::MainWindow(QWidget *parent) :
 9     QMainWindow(parent),
10     ui(new Ui::MainWindow)
11 {
12     ui->setupUi(this);
13     QFile myfile(":/ui/ui.qss");
14 
15     myfile.open(QIODevice::ReadOnly|QIODevice::Text);
16     QTextStream in(&myfile);
17     QString str = in.readAll();
18     this->setStyleSheet(str);
19 
20 }
21 
22 MainWindow::~MainWindow()
23 {
24     delete ui;
25 }
原文地址:https://www.cnblogs.com/zhangdewang/p/7718577.html