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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM