【发布时间】:2019-08-23 23:26:09
【问题描述】:
我的 Qt 应用程序中有一些带有 4-5 个刻度的水平 QSlider。如何在滑块刻度上方添加 QLabels 以反映每个刻度的值?
我怀疑最好的方法是创建一个 QSlider 的子类并覆盖 this answer 描述的 paintEvent() 方法。但是如何根据刻度的位置添加 QLabels?
澄清:
我正在寻找每个刻度处的文本标签,即如果我有一个从 0 到 100 的滑块,带有 4 个刻度,刻度将在上面有“0”、“25”、“50”和“100”他们分别。您的解决方案仍然有帮助,我相信我应该能够使用 this->geometry 来重做它以获取坐标并除以刻度数(我相信我可以用 (max - min/tick interval) 计算)
【问题讨论】:
-
也许你会尝试在
paintEvent'painter->drawText(..)`中使用而不是QLabel -
@Simon 这似乎是一个更简单的解决方案。我会试试看。
标签: qt user-interface qslider