[置顶] qt自定义按钮去除边框和背景色

[置顶] qt自定义按钮去除边框和背景色

 

[置顶] qt自定义按钮去除边框和背景色

标签: qt自定义按钮
2014-08-13 13:35 3391人阅读 评论(0) 收藏 举报
[置顶] qt自定义按钮去除边框和背景色 分类:
 
故障处理(3) [置顶] qt自定义按钮去除边框和背景色

    我们常常在qt designer拖放一个按钮,有时qt自带的按钮模式不是特别美观,就需要我们自己定义一个按钮,只需在这个按钮上添加图标图片就可以了。

首先我们需要新建一个qt资源文件,然后添加上我们需要的图标图片,不会建立资源文件的,请百度。

在设计界面的按钮上点击右键,选择“改变样式表”,进入编辑“样式表对话框”,点击“添加资源”,选择“border-image”,然后选择图标图片。

[置顶] qt自定义按钮去除边框和背景色

然后就能在设计界面看到自定义的按钮了。

[置顶] qt自定义按钮去除边框和背景色

此时本文的问题就出现了,虽然这种方法添加的按钮,没有直接修改icon属性添加的边框,但是执行时,存在背景色,如图:

[置顶] qt自定义按钮去除边框和背景色

然后猜想是否button控件某个属性设置问题,遂查看button属性,发现focusPolicy属性,默认是StrongFocus尝试把它修改为NoFocus。

[置顶] qt自定义按钮去除边框和背景色

修改完毕后,执行,运行结果正常。

自己的想法:自己实在Ubuntu系统上创建的程序,可能跟操作系统有一定关系,但是focusPolicy属性从字面上理解也不是背景色的问题,可能是button控件自身的焦点的问题,就像文本编辑框有光标焦点一样,这里把焦点设置为无,就没有那个类似背景色的焦点了,可能也是跟系统有关把,有兴趣可以在window上验证下。

posted @ 2016-02-29 17:35 心灵捕手 阅读(...) 评论(...)  编辑 收藏