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

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

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

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

[置顶] qt自定义按钮去除边框和背景色_第1张图片

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

[置顶] qt自定义按钮去除边框和背景色_第2张图片

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

[置顶] qt自定义按钮去除边框和背景色_第3张图片

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

[置顶] qt自定义按钮去除边框和背景色_第4张图片

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

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


你可能感兴趣的:(qt,自定义按钮)