【发布时间】:2020-05-22 02:06:27
【问题描述】:
我浏览了很多关于 QSpinBox 信号 editorFinished 和 valueChanged 的帖子,但无法解决我的问题,即,
- 我希望在用户输入任何值并按“Enter”时发出 editingFinished 信号。[DONE]
- 用户可以通过 keyPress 或 mousePress 使用向上/向下箭头更改值。这可以通过 valueChange 信号来完成,但不是editingFinished
所以要实现两者,我遇到了问题,假设我想输入 10000,所以 valueChanged 发出 1、10、100、1000、10000 我不想要,而是当用户在输入 10000 后按下回车时它应该发出。 所以这是通过避免 valueChanged 并连接到 &QAbstractSpinbox::editingFinished 来完成的。
connect(ui->spinBox, &QSpinBox::editingFinished,
this, [&]()
{
ui->label->setText(QString::number(ui->spinBox->value()));
});
但我希望向上/向下箭头也可以工作。所以对于这个再次 valueChanged 是必需的。
有什么方法可以直接实现它,而不是添加我自己的 spinbox 类并覆盖向上/向下箭头单击/按下的事件。
欢迎提出任何建议。
【问题讨论】: