setFocus不能生效的问题
来源:互联网 发布:js判断android版本号 编辑:程序博客网 时间:2024/06/05 17:40
focusInEvent只有在对象显示出来的情况下设定setFocus才可以触发。这一点help手册里有说明:
转一篇文章如下:http://blog.csdn.net/alex201030273437/article/details/8193757
focus问题曾经困扰了我一些时间。过程中也朋到了很多麻烦。现在总结一下,希望能够解决所有关于focus方面的问题。
即使setFocus了也不一定有效果。 帮助文档中说的很清楚,你不能在你的部件还不可见的时候setFocus,这样不行。解决这个问题的办法就是把setFocus()的操作放到我们这个部件的showEvent()里面去做。而我们一般可能喜欢放到构造函数最后去setFocus,这样往往是没有效果的,问题就在这。
另外,我们可能喜欢对一个widget或其派生的部件做setFocus,这也往往是没有效果的。因为一个widget即使获取了焦点,如果没有后续的处理,你是看不到的。也不会因为你的widget有了焦点,就自动的让里面的某个子部件,比如按钮有了焦点。 所以,我们在使用setFocus的时候,一般不要widget->setFocus(),而是button->setFocus()或者label->setFocus()。
所以,常见的会是这种形式:
void LoginForm::showEvent(QShowEvent *)
{
ui->loginButton->setFocus();
}
FROM: http://blog.csdn.net/zzwdkxx/article/details/29380689
0 0
- setFocus不能生效的问题
- setFocus不能生效的问题
- jstl标签不能生效的问题
- debian LD_LIBRARY_PATH 不能生效的问题
- Fragment动画不能生效问题
- linux环境变量不能生效问题
- LAUNCHER横竖屏旋转后长按不能生效的问题
- InstallShield修改环境变量后不能立即生效的问题
- switchHosts!修改hosts后不能立即生效的问题
- 利用js生成文本框的setfocus的问题
- 利用js生成文本框的setfocus的问题
- SetFocus()的用法
- SetFocus()
- SetFocus
- SetFocus
- SetFocus
- source insight 更改utils 不能生效问题
- 关于weblogic的自动部署不能生效的问题(转载)
- 论文中如何画出好看的图
- 九度1001,习题记录
- C++习题2——栈(简单)
- Android之多种Bitmap效果
- 鸟哥的Linux私房菜(服务器)- 第十九章、主机名控制者: DNS 服务器
- setFocus不能生效的问题
- 面试题(一)
- 鸟哥的Linux私房菜(服务器)- 第二十章、WWW 伺服器
- UVa Spreading the Wealth 11300 (递归)
- 鸟哥的Linux私房菜(服务器)- 第二十一章、文件服务器之三: FTP 服务器
- 侦听Windows文件夹变更事件
- 《第五项修炼》读后感(2)
- Android include标签 放置的顺序问题
- 鸟哥的Linux私房菜(服务器)- 第二十二章、邮件服务器: Postfix