qt-qss之QScrollArea使用
Qt QSS 使用
2023-09-27 14:29:08 时间
一、前言
记录使用QScrollArea控件,实现平板类触摸屏硬件滑动界面效果
二、环境
qt5.7
windows
linux同样支持
三、正文
创建控件:
使用控件QScrollArea创建一个满屏的verticalscrollarea,在里面创建一个widget用垂直布局,并将widget设置最小高度任意长度,超过界面就会出现滚动条,当对界面布局时可以拉动滚动条放置控件,在实际使用触摸屏时,想要滑动效果使用下面语句
QScroller::grabGesture(ui->scrollArea, QScroller::TouchGesture);//维修建议触摸屏滑动
初始化时使用下面语句可以保证每次进入界面在起始位置,或者可以根据需求设定任意位置
ui->scrollArea->verticalScrollBar()->setSliderPosition(0);//跳转行到指定位置
qDebug()<<QString::number(ui->scrollArea->verticalScrollBar()->height());
打印信息为获取当前scrollarea高度。
控件样式:
在QScrollArea样式表设置背景、滑动条等样式
#scrollArea{
border: 2px solid #c3c3c3;
border-radius:15px;
}
QScrollBar:vertical {/*设置滚动条背景*/
border: none;
border-radius:10px;
width: 20px;
background:rgba(153, 153, 153, 0.5);
border-image: url(:/icon/tou.png);
}
QScrollBar::handle:vertical {/*设置滑动条*/
border: none;
border-radius:10px;
background-color: rgb(55, 156, 212);
}
QScrollBar::sub-line:vertical {
border: none;
height: 0px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical {
border: none;
height: 0px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
border:none;
width: 0px;
height: 0px;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: none;
}
QScrollBar:horizontal {/*设置滚动条背景*/
border: none;
border-radius:2px;
height: 20px;
background:rgba(153, 153, 153, 0.5);
border-image: url(:/icon/tou.png);
}
QScrollBar::handle:horizontal {/*设置滑动条*/
border: none;
border-radius:2px;
background-color: rgb(55, 156, 212);
}
QScrollBar::sub-line:horizontal {
border: none;
width: 0px;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::add-line:horizontal {
border: none;
width: 0px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:vertical {
border:none;
width: 0px;
height: 0px;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:vertical {
background: none;
}
效果:
四、结语
相关文章
- Qt之QSS(白色靓丽)
- Qt之QSS(动态属性)
- ffmpeg和QT开发播放器之视频的解码转码
- 【Qt开发】【Linux开发】调试记录:QFontDatabase::loadFromCache Error
- 【Qt开发】QT样式表单 qss的样式优化
- 【Qt开发】解决Qt5.7.0中文显示乱码的问题
- Qt::Key_Return Qt::Key_Enter 区别
- VS中写Qt程序新建工程后显示无法打开源文件“QtWidgets/QApplication” 和标红问题
- PyQt(Python+Qt)学习随笔:QTextEdit的setText、setHtml、setPlainText之间的区别
- PyQt(Python+Qt)学习随笔:QToolBox工具箱的currentItemName和tabSpacing属性
- PyQt(Python+Qt)学习随笔:QTableWidgetItem项操作相关的flags、isSelected、checkState方法
- PyQt(Python+Qt)学习随笔:QTreeWidget中获取可见项视口位置矩形的visualItemRect方法
- PyQt(Python+Qt)学习随笔:Qt Designer中toolBar的orientation属性和iconSize属性
- PyQt(Python+Qt)学习随笔:Designer中QDialogButtonBox确认clicked信号是哪个按钮发送的方法
- QT的项目管理文件pro的编写
- qt-qss之QTableWidget样式表
- Qt样式表之三:QSS奇技淫巧