1.程序添加图标。
(1).RC_FILE+=motus.rc
(2)motus.rc内容输入 IDI_ICON1 ICON DISCARDABLE "motus.ico"
(3)添加图片"motus.ico"
2.添加背景图片
(1)利用style sheet给窗体设置背景
使用stylesheet设置背景图片还是有一些要注意的,如果是在mainwindow和dialog中,直接右键change style sheet在add resource中选择background-image或者border-image,选择资源文件中的图片就行了(前者是按像素显示图片,后者可根据窗体大小来自动缩放图片,通常使用后者,前者如果界面与图片大小不一样,则背景的显示可能就不是整张图片了)但在widget中就不行,你会发现,用同样的方法,背景并没有发生改变,而仅仅是它的子窗体背景图片发生了改变。 那么在widget中要如何做呢,我们在widget中放置一个frame,然后对frame通过stylesheet设置背景,后面窗体里所有的部件都放在这个frame里。(这里注意frame要更改名字否者控件可能不能显示背景图片)。我们知道,子窗体会继承父窗体的属性,也就是说,父窗体的背景,在子窗体中也会有,那如何让子窗体不继承父窗体的背景呢,同样的,还是在Edit Style Sheet里,需要输入如下代码:(这样就可以解决窗体中的按键、QLable等控件与主窗体的一样。)其中desktop为objectname
#desktop {
border-image: url(:/images/desktop.jpg);
}
3.设置窗口子部件背景图片
QPixmap foreImg;
foreImg.load("C:/Users/Desktop/fengjing1.jpg");
if (!foreImg.isNull())
{
painter->setOpacity(0.4);//透明度设置
painter->drawPixmap(int(sceneRect().left()), int(sceneRect().top()), foreImg);
}
3.按键透明
background-color:transparent;
4.按键的样式设置
QPushButton{ background-color:rga(147,199,151);}//本来的背景颜色
QPushButton:hover{ background-color:rga(147,199,151);}//鼠标放上去的背景颜色
QPushButton:pressed{padding-left:3px;padding-top:3px; background-color:rga(147,199,151);}//鼠标按下去的效果字体下移
QPushButton{border-radius:5px}//按键边角弧度增大
5.QTabWidget的样式
(1).父窗口设置背景色
#MotusStatusView{background-color:rgb(56,83,170);}
(2).设置QTabWidget下面窗体的样式
QTabWidget::pane{border:none;}
(3)QTabWidget tab栏的设定
QTabBar{backgorund-color:transparent;} //显示父窗口背景色
(4)QTabWidget tab条的设置
QTabWidget::tab-bar{subcontrol-psition:center;}//条形框居中
QTabBar::tab //tab的样式
{
min-width:75px;
min-height:55px;
background:transparent;
}
QTabBar::tab:selected //被选择
{
color: rgb(36,197,219);
background:transparent;
}
QTabBar::tab:!selected //没有被选择
{
color: white;
background:transparent;
}
QTabBar::tab:hover //鼠标停留在上面
{
color: rgb(36,197,219);
background:transparent;
}
6.设置QGroupBox的窗体框样式
QGroupBox{
border-none;
background-color:transparent;
}
7.设置背景图片缩放
QPalette palette = this->palette();
palette.setBrush(this->backgroundRole(),QBrush(pixmap.scaled(this->size(),Qt::IgnoreAspectRatio, Qt::SmoothTransformation)));
this->setPalette(palette);