Qt QSpinBox加速步长

时间:2019-06-12 19:01:14

标签: c++ qt

我在Qt中有一个QSpinBox。该小部件带有一个crementValue和一个reducingValue箭头。单击箭头会增加singleStep所确定的值,而按住箭头会每X毫秒将singleStep的值增加singleStep(取决于系统设置)。

实现这种体验的最佳方法是,随着时间的推移,按住不放会更快地增大/减小该值。我在想任何一个

  • 在开始的2秒钟内以2 * singleStep递增,然后递增4 * singleStep,然后递增singleStep,直到释放

  • 每X毫秒增加singleStep,然后在按住箭头的前2秒之后,每X / 2毫秒增加 <input type="text" ng-model="endDate" ng-change="collapseAll()" xt-validation k-format="'dd.MM.yyyy'" k-parse-formats="['ddMMyyyy']" kendo-date-picker msg-required="Please specify an end date." /> ,等等

哪个更容易。

1 个答案:

答案 0 :(得分:3)

作为第一个建议,您应该尝试使用QSpinBox的内置功能。

#include <QSpinBox>
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    auto w=new QSpinBox;
    w->setAccelerated(true);
    w->show();

    return a.exec();
}