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"))
{
}