kylin-music/UI/sidebar/myscrollarea.cpp

30 lines
2.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "myscrollarea.h"
myScrollArea::myScrollArea(QWidget *parent) : QScrollArea(parent)
{
// QScrollArea本身主题有背景避免干扰需要设置全透明不使用主题的背景颜色,只有1种恰当方式, rgba(0,0,0,0)
this->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
/** setStyleBar组件设置样式技巧通过整体设置背景、大小等参数之后可以通过::来指定控件中其他小部件, :可以设置点击、垂直方向等用户手动操作的状态参数;
* width 越小border-radius也应该越小否则设置不生效;
* 通过margin-left和margin-right来控制滑块大小。
*/
this->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{width:16px; border-radius:4px;}" // 可设置可区分背景颜色进行调节整个滑动条控件的宽度width = 滑块宽度 + margin-left + margin-right
"QScrollBar::handle:vertical{background:rgba(0,0,0, 10%); width: 4px;border-radius: 2px; margin-left:6px;margin-right:6px;}" // 滑动条滑块handle两端变椭圆,和滑轨之间的间隙
"QScrollBar::handle:vertical:hover{background:rgba(0,0,0, 15%); width: 8px; border-radius:4px;margin-left:4px;margin-right:4px;}" // 鼠标放到滑块上颜色加深
"QScrollBar::sub-line:vertical{border: none; background: none; color:none;}" // 设置上箭头不可见
"QScrollBar::add-line:vertical{border: none; background: none; color:none;}" // 设置下箭头不可见
"QScrollBar::sub-page:vertical{background:none;}" // 滑块还没经过的滑轨区域的颜色
"QScrollBar::add-page:vertical{background:none;}" // 滑块已经经过的滑轨区域的颜色
"QScrollBar::up-arrow:vertical{background:none;}" // 上箭头图标
"QScrollBar::down-arrow:vertical{background:none;}" // 下箭头图标
);
}
myScrollArea::~myScrollArea()
{
}