您的位置:首页 > 其它

QPushButton去掉选中状态的虚线框(焦点框)

2016-03-15 23:32 393 查看
原文出自博客 :http://www.hookr.cn/implement-qt-switched-to-the-relevant-page-the-corresponding-page-button-qpushbutton-selected-results.html欢迎大家访问交流

这个项目做的软件是在平板上跑的,如果点击按钮或者文本框,周围会出现一个焦点虚框,比较难看,网上对于去除Qt控件周围的焦点虚框的方法不多,其中一个是写一个类,在main函数里面执行,可以去除所有控件的焦点框,我看了一下,太麻烦了,还是用代码。

后来在
stackoverflow 问答网站上发现有人用同样的问题,解决办法是用qss,一句话搞定。我试过之后确实可以去掉所有控件的焦点框。

复制代码

QWidget:focus{outline: none;} /*remove all QWidget's focus border*/

//但是,outline 属性在Qt文档里面貌似找不到?

上面的QSS代码去除所有QWidget及其子控件的焦点虚框,也就是继承QWidget的空间焦点虚框都被影藏了。

如果只想去电QPushButton的焦点虚框可以吧QWidget改成QPushButton即可,同理适用于QLineEdit等其他控件。

效果图如下,按钮被选中后周围没有焦点虚框:



怎么样,简单吧。

另附一种

这里介绍个简单方法,qss中加入:

[css] view
plain copy





QPushButton:focus{padding: -1;} // 具体负多少可以调节
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: