使用QSS自定义控件界面时,QT中控件QCombobox含有两个子控件drop-down和down-arrow.一般而言,当改变QCombox时,很多效果都会出来,但是,针对下拉按钮和下拉图标的自定义效果需要通过QComboBox::drop-down和QComboBox::down-arrow来定义.
下面我们将展示去除下拉按钮的下拉效果.
QComboBox{
background:white;
}
QComboBox::drop-down {
border:none;
}
QComboBox::down-arrow {
image: url(:/ui/1downarrow.png);
}
QT QCombobox的qss代码
这个代码就实现了去除下拉按钮,保留了下拉图标的方案.
#include "mainwindow.h"
#include "ui_mainwindow.h" #include <QFile>
#include <QTextStream>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QFile myfile(":/ui/ui.qss"); myfile.open(QIODevice::ReadOnly|QIODevice::Text);
QTextStream in(&myfile);
QString str = in.readAll();
this->setStyleSheet(str); } MainWindow::~MainWindow()
{
delete ui;
}