QT中如何设置窗体的背景图片。
2016-07-10 15:35
495 查看
设置方法有两种,如下:
1、利用style sheet给窗体设置背景
使用stylesheet设置背景图片还是有一些要注意的,如果是在mainwindow和dialog中,直接右键change style sheet在add resource中选择background-image或者border-image,选择资源文件中的图片就行了(前者是按像素显示图片,后者可根据窗体大小来自动缩放图片,通常使用后者,前者如果界面与图片大小不一样,则背景的显示可能就不是整张图片了),如下图:
注意:
a、但在widget中就不行,你会发现,用同样的方法,背景并没有发生改变,而仅仅是它的子窗体背景图片发生了改变。
那么在widget中要如何做呢,我们在widget中放置一个frame,然后对frame通过stylesheet设置背景,后面窗体里所有的部件都放在这个frame里。
b、 我们知道,子窗体会继承父窗体的属性,也就是说,父窗体的背景,在子窗体中也会有,那如何让子窗体不继承父窗体的背景呢,同样的,还是在Edit Style Sheet里,需要输入如下代码:(这样就可以解决窗体中的按键、QLable等控件与主窗体的一样。)
#desktop {
border-image: url(:/images/desktop.jpg);
}
#desktop * {
border-image:url();
}
desktop是你的窗体名。
2、不过也可以通过如下代码来实现:
QWidget *widget = new QWidget();
widget->setAutoFillBackground(true);
QPalette palette;
QPixmap pixmap(":/Resources/Penguins.jpg");
palette.setBrush(QPalette::Window, QBrush(pixmap));
widget->setPalette(palette);
widget->show();
一般我喜欢使用前面去设计,在ui中进行,方便简单。
1、利用style sheet给窗体设置背景
使用stylesheet设置背景图片还是有一些要注意的,如果是在mainwindow和dialog中,直接右键change style sheet在add resource中选择background-image或者border-image,选择资源文件中的图片就行了(前者是按像素显示图片,后者可根据窗体大小来自动缩放图片,通常使用后者,前者如果界面与图片大小不一样,则背景的显示可能就不是整张图片了),如下图:
注意:
a、但在widget中就不行,你会发现,用同样的方法,背景并没有发生改变,而仅仅是它的子窗体背景图片发生了改变。
那么在widget中要如何做呢,我们在widget中放置一个frame,然后对frame通过stylesheet设置背景,后面窗体里所有的部件都放在这个frame里。
b、 我们知道,子窗体会继承父窗体的属性,也就是说,父窗体的背景,在子窗体中也会有,那如何让子窗体不继承父窗体的背景呢,同样的,还是在Edit Style Sheet里,需要输入如下代码:(这样就可以解决窗体中的按键、QLable等控件与主窗体的一样。)
#desktop {
border-image: url(:/images/desktop.jpg);
}
#desktop * {
border-image:url();
}
desktop是你的窗体名。
2、不过也可以通过如下代码来实现:
QWidget *widget = new QWidget();
widget->setAutoFillBackground(true);
QPalette palette;
QPixmap pixmap(":/Resources/Penguins.jpg");
palette.setBrush(QPalette::Window, QBrush(pixmap));
widget->setPalette(palette);
widget->show();
一般我喜欢使用前面去设计,在ui中进行,方便简单。
相关文章推荐
- Qt:拖拽图片到QLabel上并显示
- Qt多窗口切换程序
- Something inside Qt (Day 1)
- QT中全屏显示子窗口的方法
- Qt 向硬盘写文档
- MQTT协议
- Qt_QTabWidget_多行
- QT
- Qt5布局管理内 控件设置最小尺寸
- Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
- Qt中使用WMI时遇到的那些坑儿
- Qt中使用WMI时遇到的那些坑儿
- Qt 小结
- Qt---设置全局字体
- Bootstrap轮播(carousel)插件中图片变形的终极解决方案——使用jqthumb.js
- Qt QCalendar控件的美化
- Qt Post get
- Qt_2D_画图教程
- Qt_OpenGL_教程
- Qt---布局,设置控件边距,拉伸因子