QSlider 样式 Qt15.15.2 圆形滑块

在看文档的时候测试了一下demo,然后发现了一个有意思的东西,自定义滑块为带边框的圆形。

在设置的时候边框总是和预期的有点误差,后来发现了这样一个计算方式可以画一个比较标准的圆。(ABCDEF在下方代码块内)

滑块的高=A+C+D = 2*E

滑块的宽=B+2*F =2*E

按照这个写出的滑块就是一个圆形,不然就会有点椭圆。不知道是不是我的这个qt版本的问题,欢迎留言

QSlider
{       
	background-color: rgb(148, 180, 255);
}
QSlider::groove:horizontal
{
	height: 10px; /*A*/
	background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #c4c4c4);
}
QSlider::handle:horizontal 
{
	background-color: rgb(81, 75, 255);
	width:20px; /*B*/
	margin-top:-15px ; /*C*/
	margin-bottom: -15px; /*D*/
	margin-left:0;
	margin-right: 0;
	border-radius:20px;  /*E*/
	border: 10px ;  /*F*/
	border-style:solid;
	border-color:#ffffff;
	/*border-image: url(:/rp2_03.jpg);*/
}
QSlider:handle:hover
{
	background-color: rgb(154, 87, 255);
}
QSlider:handle:pressed
{
	background-color: rgb(245, 130, 255);
}
QSlider::sub-page:horizontal
{
	background: rgb(0, 170, 127);
	border-radius:5px;
}
QSlider::add-page:horizontal
{
	background: rgb(0, 0, 127);
	border-radius:5px;
}

 

你可能感兴趣的:(笔记)