【发布时间】:2013-12-14 19:16:13
【问题描述】:
首先让我说,我是 QTCreator 的新手。我有以下所有的 UI 设置,只是无法弄清楚如何正确连接信号和插槽:
好的,这是我的问题。我有 5 个 SpinBox,最大值为 10,最小值为 0,所有这些都从 0 开始。我有一个值为 25 的标签。当我使用 +/- 按钮更改旋转框的值时,我希望标签也减去或加回 25 的标签。此外,一旦 25 的值达到0 我希望禁用所有旋转框以进行添加。
(不幸的是,由于我使用表单创建器设置了这一切,所以所有代码都是默认的。
例子:
Label: 1
SB1: 5
SB2: 10
SB3: 2
SB4: 6
SB5: 1
SpinBoxes 的所有值都等于 24。当按下加号按钮时,所有框的值都是 25。因此,我希望禁用所有 + 按钮,当按下 - 按钮时,我希望启用。
【问题讨论】:
-
看看signals/slots机制。
-
看.. 我这样做了,我得到,'(obj1,SIGNAL(valueChanged(int)),obj2,SLOT(setNum(int)))' 它将标签更改为确切的数字旋转框的
-
您不能直接在设计器中执行此操作,需要一个连接到 valueChnaged() 的中间自定义插槽(在 C++ 中定义),从 spinbox 获取 int 并调用 label->setNum(value+ 1)
标签: c++ qt user-interface qlabel qspinbox