2023年6月20日发(作者:)
设置QScrollBar(垂直与⽔平)滚动条样式
ui->QTableView->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{" //垂直滑块整体
"background:#FFFFFF;" //背景⾊
"padding-top:20px;" //上预留位置(放置向上箭头)
"padding-bottom:20px;" //下预留位置(放置向下箭头)
"padding-left:3px;" //左预留位置(美观)
"padding-right:3px;" //右预留位置(美观)
"border-left:1px solid #d7d7d7;}"//左分割线
"QScrollBar::handle:vertical{"//滑块样式
"background:#dbdbdb;" //滑块颜⾊
"border-radius:6px;" //边⾓圆润
"min-height:80px;}" //滑块最⼩⾼度
"QScrollBar::handle:vertical:hover{"//⿏标触及滑块样式
"background:#d0d0d0;}" //滑块颜⾊
"QScrollBar::add-line:vertical{"//向下箭头样式
"background:url(:/images/) center no-repeat;}"
"QScrollBar::sub-line:vertical{"//向上箭头样式
"background:url(:/images/) center no-repeat;}");
ui->QTableView->horizontalScrollBar()->setStyleSheet("QScrollBar:horizontal{"
"background:#FFFFFF;"
"padding-top:3px;"
"padding-bottom:3px;"
"padding-left:20px;"
"padding-right:20px;}"
"QScrollBar::handle:horizontal{"
"background:#dbdbdb;"
"border-radius:6px;"
"min-width:80px;}"
"QScrollBar::handle:horizontal:hover{"
"background:#d0d0d0;}"
"QScrollBar::add-line:horizontal{"
"background:url(:/images/) center no-repeat;}"
"QScrollBar::sub-line:horizontal{"
"background:url(:/images/) center no-repeat;}");
新建⽂件// 设置垂直滚动条基本样式QScrollBar:vertical{ width:8px; background:rgba(0,0,0,0%); margin:0px,0px,0px,0px; padding-top:9px; // 留出9px给上⾯和下⾯的箭头 padding-bottom:9px;}QScrollBar::handle:vertical{ width:8px; background:rgba(0,0,0,25%); border-radius:4px; // 滚动条两端变成椭圆 min-height:20;}QScrollBar::handle:vertical:hover{ width:8px; background:rgba(0,0,0,50%); // ⿏标放到滚动条上的时候,颜⾊变深 border-radius:4px; min-height:20;}QScrollBar::add-line:vertical // 这个应该是设置下箭头的,就是箭头{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:bottom;}QScrollBar::sub-line:vertical // 设置上箭头{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:top;}QScrollBar::add-line:vertical:hover // 当⿏标放到下箭头上的时候{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:bottom;}QScrollBar::sub-line:vertical:hover // 当⿏标放到下箭头上的时候{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:top;}QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical // 当滚动条滚动的时候,上⾯的部分和下⾯的部分{ background:rgba(0,0,0,10%); border-radius:4px;}
在程序中读取⽂件,调⽤⽂件中的设置,代码如下:
QFile file(":/");(QFile::ReadOnly);listWidget->verticalScrollBar()->setStyleSheet(l());
直接在程序中设置,适⽤于不复杂的格式,本次试验就是直接写⼊程序中,代码⽰例如下:
textEdit->verticalScrollBar()->setStyleSheet( "QScrollBar{ background: #F0F0F0; width:30px ;margin-top:16px;margin-bottom:16px }" "QScrollBar::handle:vertical{ background: #EAEAED; min-height: 80px ;width:30px }" "QScrollBar::sub-line:vertical{height:16px;subcontrol-position:top;subcontrol-origin:margin;}" "QScrollBar::add-line:vertical{height:16px;subcontrol-position:bottom;subcontrol-origin:margin;}" );
这样就能把设置滚动条的宽度、滑块⼤⼩及上下边缘箭头。需要其他设计可参考上述⽂件中设计的详细格式。特别注意: 在设置滑块属性时,⼀定要先设置QScrollBar 和 QScrollBar::handle:vertical 的背景颜⾊或图⽚,不然设置其他属性不⽣效,亲测可⽤。本⽂针对垂直滚动条进⾏⽰例说明,⽔平滚动条也类似。只需要把vertical 换成 horizontal 即可。
2023年6月20日发(作者:)
设置QScrollBar(垂直与⽔平)滚动条样式
ui->QTableView->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{" //垂直滑块整体
"background:#FFFFFF;" //背景⾊
"padding-top:20px;" //上预留位置(放置向上箭头)
"padding-bottom:20px;" //下预留位置(放置向下箭头)
"padding-left:3px;" //左预留位置(美观)
"padding-right:3px;" //右预留位置(美观)
"border-left:1px solid #d7d7d7;}"//左分割线
"QScrollBar::handle:vertical{"//滑块样式
"background:#dbdbdb;" //滑块颜⾊
"border-radius:6px;" //边⾓圆润
"min-height:80px;}" //滑块最⼩⾼度
"QScrollBar::handle:vertical:hover{"//⿏标触及滑块样式
"background:#d0d0d0;}" //滑块颜⾊
"QScrollBar::add-line:vertical{"//向下箭头样式
"background:url(:/images/) center no-repeat;}"
"QScrollBar::sub-line:vertical{"//向上箭头样式
"background:url(:/images/) center no-repeat;}");
ui->QTableView->horizontalScrollBar()->setStyleSheet("QScrollBar:horizontal{"
"background:#FFFFFF;"
"padding-top:3px;"
"padding-bottom:3px;"
"padding-left:20px;"
"padding-right:20px;}"
"QScrollBar::handle:horizontal{"
"background:#dbdbdb;"
"border-radius:6px;"
"min-width:80px;}"
"QScrollBar::handle:horizontal:hover{"
"background:#d0d0d0;}"
"QScrollBar::add-line:horizontal{"
"background:url(:/images/) center no-repeat;}"
"QScrollBar::sub-line:horizontal{"
"background:url(:/images/) center no-repeat;}");
新建⽂件// 设置垂直滚动条基本样式QScrollBar:vertical{ width:8px; background:rgba(0,0,0,0%); margin:0px,0px,0px,0px; padding-top:9px; // 留出9px给上⾯和下⾯的箭头 padding-bottom:9px;}QScrollBar::handle:vertical{ width:8px; background:rgba(0,0,0,25%); border-radius:4px; // 滚动条两端变成椭圆 min-height:20;}QScrollBar::handle:vertical:hover{ width:8px; background:rgba(0,0,0,50%); // ⿏标放到滚动条上的时候,颜⾊变深 border-radius:4px; min-height:20;}QScrollBar::add-line:vertical // 这个应该是设置下箭头的,就是箭头{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:bottom;}QScrollBar::sub-line:vertical // 设置上箭头{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:top;}QScrollBar::add-line:vertical:hover // 当⿏标放到下箭头上的时候{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:bottom;}QScrollBar::sub-line:vertical:hover // 当⿏标放到下箭头上的时候{ height:9px;width:8px; border-image:url(:/images/a/); subcontrol-position:top;}QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical // 当滚动条滚动的时候,上⾯的部分和下⾯的部分{ background:rgba(0,0,0,10%); border-radius:4px;}
在程序中读取⽂件,调⽤⽂件中的设置,代码如下:
QFile file(":/");(QFile::ReadOnly);listWidget->verticalScrollBar()->setStyleSheet(l());
直接在程序中设置,适⽤于不复杂的格式,本次试验就是直接写⼊程序中,代码⽰例如下:
textEdit->verticalScrollBar()->setStyleSheet( "QScrollBar{ background: #F0F0F0; width:30px ;margin-top:16px;margin-bottom:16px }" "QScrollBar::handle:vertical{ background: #EAEAED; min-height: 80px ;width:30px }" "QScrollBar::sub-line:vertical{height:16px;subcontrol-position:top;subcontrol-origin:margin;}" "QScrollBar::add-line:vertical{height:16px;subcontrol-position:bottom;subcontrol-origin:margin;}" );
这样就能把设置滚动条的宽度、滑块⼤⼩及上下边缘箭头。需要其他设计可参考上述⽂件中设计的详细格式。特别注意: 在设置滑块属性时,⼀定要先设置QScrollBar 和 QScrollBar::handle:vertical 的背景颜⾊或图⽚,不然设置其他属性不⽣效,亲测可⽤。本⽂针对垂直滚动条进⾏⽰例说明,⽔平滚动条也类似。只需要把vertical 换成 horizontal 即可。
发布评论