2

Qt。我有一个表格。上面有 2 个小部件,包含其他小部件、按钮、行编辑等。我需要:当用户设置焦点、通过鼠标单击或对它包含的第一个小部件或元素执行某些操作时 - 我需要将变量设置为 0 . 如果他对第二个小部件做同样的事情 - 变量必须设置在 1. 怎么做?

4

2 回答 2

6

QApplication::focusWidget()返回指向此时具有焦点的小部件的指针。还有QApplication::focusChanged(QWidget *old, QWidget *now)信号,您可以将其连接到插槽以更改变量。

于 2012-10-18T14:22:57.380 回答
0

您始终可以使用自己的插槽和信号重新定义/(通过继承创建子类)小部件。

据我了解您的要求,您可以做到。

QObject::connect(wid1,SIGNAL(clicked()),yourvariableclass,SLOT(setMyVariable_wid1())); QObject::connect(wid2,SIGNAL(clicked()),yourvariableclass,SLOT(setMyVariable_wid2()));

如果我的回答不适合您的问题,请多解释一下问题。我可以帮你。:)

于 2012-10-18T13:08:41.363 回答