Qt 背景的添加

如有转载必须注明出处,欢迎共同学习交流所用。

今天断断续续的花了一天的时间才搞定这个问题(汗~~~),刚开始在网上收了几个相关代码,也还都能运行,但是都跑不出来所要的效果。然后又跑到Qt开发交流群里去找高手请教,问了很多人,要么就是很久没有用Qt了,要么就是刚开始学的,有几个哥们儿挺爽快的答应了帮我分析代码,但是没有找出原因。一不小心被自己给摸索出来了,所以特地写下来跟需要的朋友分享下。

第一步:向建立好的qt工程中添加qrc文件

(很无语啊,不能上传图片,所以就只能口述了,如有不懂的地方,欢迎留言交流)

第二步:右击工程,选择弹出的Add New... ,在弹出的对话框中,右边一栏选择QT,左边一栏选择QT Resource File,输入一个所需的名字,在此我们取名为fdsa。

第三步:双击生成的fdsa.qrc,点击右边一栏的Add,选择Add Prefix,将Add下方的Prefix一栏原有的“/new/prefix1”修改为 “/”(在此我们假设所要加载的图片和工程在同一文件夹中),再次点击Add,选择Add下方的Add Files  ,添加所需的图片,然后点击File菜单的Save All。如加载的图片为1.png。

主程序的代码如下:

#include <QApplication>

#include <QtGui>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget window;
    QPixmap pixmap(":/1.png");//切记冒号一定要有
    QPalette   palette(window.palette());
    palette.setBrush(window.backgroundRole(),QBrush(pixmap));
    window.setPalette(palette);
    //w.setAutoFillBackground(true);  //此句代码可有可无,因为默认为true
    window.show();
    return app.exec();
}
多余的源文件和头文件可以都删除掉
到此为止所有的讲解都结束了,大功告成。
咱也是一个初学者,在此写下这些只是为了认识更多的朋友共同学习交流,共同进步!
### 如何在 Qt Designer 中为界面添加背景图片或颜色 #### 设置窗口背景颜色 为了设置整个窗口的背景颜色,在Qt Designer中可以通过以下方式实现: - 打开Qt Designer并加载要编辑的.ui文件。 - 在对象浏览器(Object Inspector)中选中顶层窗口部件(通常是`QWidget`或其派生类)。 - 转至属性编辑器(Property Editor),找到`styleSheet`属性[^1]。 在此处输入CSS样式的字符串来定义背景颜色,例如: ```css background-color: rgb(255, 0, 0); ``` 这会将窗口背景设为红色。可以根据需求调整RGB值以获得所需的颜色效果。 #### 添加窗口背景图像 对于更复杂的视觉设计,可能需要指定一张完整的背景图而不是简单的纯色填充。同样是在`styleSheet`属性内操作,但是这次使用的语法略有不同: ```css border-image: url(:/path/to/image.png); ``` 这里的路径应当指向项目中的资源文件位置;如果使用的是外部链接,则可以直接给出URL地址。注意当采用相对路径时,确保该路径相对于编译后的二进制文件有效。 #### 处理控件背景一致性问题 有时可能会遇到这样的情况——放置于主窗体上的按钮或其他组件自动采用了相同的外观风格,这是因为这些子级元素继承了父容器的样式特性[^4]。为了避免这种情况发生,可以在各个具体的小部件上单独定义它们自己的StyleSheet规则,从而覆盖掉来自上级的影响。 例如针对QPushButton自定义背景图案的方法如下所示: ```css QPushButton { border-image: none; background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255, 85, 0, 255), stop:1 rgba(255, 170, 0, 255)); } ``` 这段代码创建了一个线性的渐变色彩作为按钮的底纹,并且禁用了边框映像功能以便更好地控制显示效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值