1. 程式人生 > 其它 >Qt QComBox 樣式 QSS 陰影效果

Qt QComBox 樣式 QSS 陰影效果

技術標籤:Qtc++qssqtc++

文章目錄


效果

在這裡插入圖片描述

程式碼

樣式

QComboBox{
  color:#1e222b;
  padding: 1px 15px 1px 3px;
  border:1px solid rgba(228,228,228,1);
  border-radius:8;
  font-family: Microsoft YaHei;
  font-size: 14px;
}
QComboBox::drop-down {			/*下拉按鈕*/
      subcontrol-origin: padding;
      subcontrol-
position: top right; width: 20px; border:none; } QComboBox::down-arrow { /*下拉按鈕*/ image: url(:/image/combox.png); } QComboBox QAbstractItemView{ /*列表 */ margin-top: 8px; margin-left: 6px; margin-bottom: 6px; margin-right: 6px; background:rgba(255,255,255,1); border:1px solid rgba
(228,228,228,1); border-radius:8px; font-size:12px; font-family: Microsoft YaHei; outline: 0px; color:#1e222b; padding-left: 16px; padding-top: 12px; padding-bottom:12px; } QComboBox QScrollBar::vertical{ /*滑條 主體部分*/ width:6px; background:rgb(255,255,255); border:
none; } QComboBox QScrollBar::handle::vertical{ /*滑塊主體*/ border-radius:3px; background-color: rgba(30, 34, 43, 0.2); } QComboBox QScrollBar::handle::vertical::hover{ background-color: rgba(30, 34, 43, 0.2); } QComboBox QScrollBar::add-line::vertical{/*上箭頭*/ border:none; } QComboBox QScrollBar::sub-line::vertical{/*下箭頭*/ border:none; }

下拉框陰影效果

QAbstractItemView* view =
ui->comboBox->view();
QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect;
effect->setBlurRadius(6);
effect->setColor(Qt::black);
effect->setOffset(0, 0);
view->setGraphicsEffect(effect);
view->update();

static_cast<QWidget*>(view->parent())
  ->setStyleSheet(
      "QWidget{border:none;background-color: rgb(255, 255, 255);}");

QWidget* container = static_cast<QWidget*>(view->parent());
container->setAttribute(Qt::WA_TranslucentBackground);
container->setWindowFlag(Qt::FramelessWindowHint);
container->setWindowFlag(Qt::NoDropShadowWindowHint);