QT 图片处理 样式处理

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;

}

猜你喜欢

转载自blog.csdn.net/zq4132/article/details/81979547