在写一个类似文件夹的控件,想要实现重命名的功能,希望在鼠标点到其它控件时,停止重命名。
一开始的操作:重写focusOutEvent()事件
void FolderName::focusOutEvent(QFocusEvent* event){
setEnabled(0);
}
FolderName
是一个继承自QLineEdit
的类
写完之后发现,就算LineEdit失去了焦点,光标依然存在,但是LineEdit已经不可编辑
解决方案:调用一下父类的focusOutEvent事件就好了
void FolderName::focusOutEvent(QFocusEvent* event){
setEnabled(0);
QLineEdit::focusOutEvent(event);
}
感谢这位同学的启发:https://blog.youkuaiyun.com/chense5161/article/details/100627658