fix: 修改DSlider刻度文字的样式为不超过刻度线

修改DSlider中第一个和最后一个刻度文字的样式,将样式
由居中刻度线修改为不超过刻度线。

Log: 修改DSlider刻度文字的样式
Bug: https://pms.uniontech.com/zentao/bug-view-44984.html
Change-Id: I9f34e118281e1daaaed7b0ef5714c713761b2e37
Reviewed-on: http://gerrit.uniontech.com/c/dtkwidget/+/3176
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: chenke <chenke@uniontech.com>
Tested-by: <mailman@uniontech.com>
This commit is contained in:
chenbin 2020-09-01 10:36:50 +08:00 committed by chenke
parent b31b143dbb
commit fcd09ac98d
1 changed files with 17 additions and 3 deletions

View File

@ -770,7 +770,7 @@ void SliderStrip::paintEvent(QPaintEvent *event)
pa.setPen(penLine);
pa.drawLine(QPointF(startX, startY), QPointF(endX, endY));
pa.setPen(penNumber);
pa.drawText(QRectF(endX - offsetSize, textPos, width, height - tickSize), Qt::AlignLeft, scaleInfo[0]);
pa.drawText(QRectF(endX, textPos, width, height - tickSize), Qt::AlignLeft, scaleInfo[0]);
for (int i = 1; i < paragraph - 1; i++) {
startX += average;
@ -787,7 +787,7 @@ void SliderStrip::paintEvent(QPaintEvent *event)
pa.setPen(penLine);
pa.drawLine(QPointF(startX, startY), QPointF(endX, endY));
pa.setPen(penNumber);
pa.drawText(QRectF(endX - width + offsetSize, textPos, width, height - tickSize), Qt::AlignRight, scaleInfo[paragraph - 1]);
pa.drawText(QRectF(endX - width, textPos, width, height - tickSize), Qt::AlignRight, scaleInfo[paragraph - 1]);
}
} else {
startY = offsetSize;
@ -807,13 +807,27 @@ void SliderStrip::paintEvent(QPaintEvent *event)
text_flags |= Qt::AlignLeft;
}
for (int i = 0; i < paragraph; i++) {
pa.setPen(penLine);
pa.drawLine(QPointF(startX, startY), QPointF(endX, endY));
pa.setPen(penNumber);
pa.drawText(QRectF(textPos, endY - average / 2 + offsetSize / 2, width - tickSize, average), text_flags, scaleInfo[0]);
for (int i = 1; i < paragraph - 1; i++) {
startY += average;
endY = startY;
pa.setPen(penLine);
pa.drawLine(QPointF(startX, startY), QPointF(endX, endY));
pa.setPen(penNumber);
pa.drawText(QRectF(textPos, endY - average / 2, width - tickSize, average), text_flags, scaleInfo[i]);
}
if (paragraph > 1) {
startY += average;
endY = startY;
pa.setPen(penLine);
pa.drawLine(QPointF(startX, startY), QPointF(endX, endY));
pa.setPen(penNumber);
pa.drawText(QRectF(textPos, endY - average / 2 - offsetSize / 2, width - tickSize, average), text_flags, scaleInfo[paragraph - 1]);
}
}
}