问:如何知道小部件,用户在上次设置焦点的元素

时间:2012-10-18 12:41:58

标签: qt qwidget qevent

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:0)

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

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

的QObject ::连接(WID1,SIGNAL(点击()),yourvariableclass,SLOT(setMyVariable_wid1())); 的QObject ::连接(WID2,SIGNAL(点击()),yourvariableclass,SLOT(setMyVariable_wid2()));

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