假设我有一个QSpinBox,其值为123.45。如果我手动编辑它并开始擦除这五个值,则为值123.4激发valueChanged。如果我继续删除这四个,则会再次发生。QSpinBox ValueChanged被多次触发
而且如果我在完成编辑后按Enter键,它也会被触发。
我想问题是我应该使用void QAbstractSpinBox :: editingFinished()而不是valueChanged,但它看起来像valueChanged是推荐的方法,因为在我的oppinion中有更多的示例ans用法,所以我想确保对这个。
有什么想法?
关于'editingFinished'和'valueChanged'与禁用'keyboardTracking'之间区别的另外一件事情。 只有当焦点丢失时才会发出'editingFinished'。用户可以将焦点设置为'QSpinBox'并开始滚动。如果您在滚动期间需要更新某些内容,请使用'valueChanged'。在大多数情况下,这是最好的方法。 – Vladislav 2017-07-26 10:13:10