设置qprogressBar的最小值和最大值,而无需通过样式表传递

时间:2019-07-19 06:18:11

标签: c++ qt qt5 qprogressbar

我需要创建一个QProgressBar,我们可以在其中选择一个范围,最小值和最大值。

直到现在,我仍然使用样式表,但是程序可以正常工作(尽管不是很完美)。

样式表将允许我每次更改背景颜色和条形颜色,并且每次应该添加一个较小的值,因为我在样式表内部使用了qgradientline(由于解析时间,这不是一个好主意)并且进度条也不通用)

显示我要确切执行的操作的图像

您可以在下面找到样式表xml:

 setStyleSheet(QString("QProgressBar{background-color: %2; border: 2px solid %2; border-radius: 1px; margin: 0px; text-align: center;}"
                      "Q2ProgressBar:disabled{background-color: %3; border: 2px solid %3; border-radius: 1px; margin: 0px; text-align: center;}"
                  "QProgressBar::chunk{background-color: qlineargradient(x0: 0, x2: 1, stop : 0 %1, stop: %5 %1, stop: 0.%6 %4, stop: 1 %4); margin: 0px}"
                     ).arg(Q2UiColorsLocator::get().getDispText().name(),
                           Q2UiColorsLocator::get().getDispText().name(),
                           Q2UiColorsLocator::get().getDisabled().name(),
                           Q2UiColorsLocator::get().getDispBackground().name())
                          .arg(min+0.00001)
                          .arg(((min)+0.00002)));

1 个答案:

答案 0 :(得分:0)

摘自有关最大字段(https://doc.qt.io/qt-5/qprogressbar.html#maximum-prop)的文档

  

此属性保存进度条的最大值

     

设置此属性时,如有必要,将最小值调整为   确保范围保持有效。如果当前值下降   在新范围之外,进度条将通过reset()重置。

     

访问功能:   int maximum()const
  无效setMaximum(int最大)

那么,您是否尝试过setMaximum?最小也是一样。存取功能设为setMinimum