当前位置: 代码迷 >> QT开发 >> qt中怎么获取焦点所在控件的类型以及判断改控件是否接受输入
  详细解决方案

qt中怎么获取焦点所在控件的类型以及判断改控件是否接受输入

热度:407   发布时间:2016-04-25 05:10:37.0
qt中如何获取焦点所在控件的类型以及判断改控件是否接受输入
qt中如何获取焦点所在控件的类型以及判断改控件是否接受输入

例如,当前焦点在一个QLineEdit上面,我怎么可以获取到这个控件,并且判断这个控件是QLineEdit


QWidget *current_focus_widget;
  current_focus_widget = QApplication::focusWidget();
我现在使用上面的方法来获取了当前焦点所在的QWidget控件,下一步就是判断这个控件是什么类型的?不知大家有没有好的方法?
请指教!
谢谢!

------解决方案--------------------
建议你在对应的窗口中获取QFocusEvent事件。
再判断是那个控制获得了焦点就可以了。
比如说: QLineEdit lineEdt; focusInEvent。你重写一下就可以了。
------解决方案--------------------
QLineEdit *le= qobject_cast<QLineEdit*>(current_focus_widget);

------解决方案--------------------
搂主问的好,这个问题我也正在解决呢。
------解决方案--------------------
用qobject:inherits
来判断最好
------解决方案--------------------
if (current_focus_widget->inherits("QLineEdit"))
{

}
  相关解决方案