首页 > 其他 > 详细

qt 5 界面美化

时间:2015-11-15 13:29:17      阅读:235      评论:0      收藏:0      [点我收藏+]

大家都知道,用UI做起界面来非常方便,但是如果我们不熟练他的操作的话,做起来也会有不少布局的麻烦,

所以,我打算写一篇文章来记录自己参考大牛用代码写界面的文章,感谢百度,感谢各位QT大牛的帮助。

 

所谓代码布局,无非用到的是qss样式表,它与css样式表的语法形式差不多,下面废话不多说,直接进入正题。

 

由于,QT自带的窗口,不是那么美观,所以我之前写过一篇,制作无边框界面,但是没有涉及到美化,具体参考

http://www.cnblogs.com/Ten10/p/Ten16.html,然后发现,无边框之后,按钮也因为边框的消失,而消失了

所以我们必须为我们的界面装上按钮,在UI里面拖一个组合框,里面放入两个按钮,把他们改成 - 和 x 的形式,当然

你也可以自己用代码写出来,博主为了方便,直接用的UI,如图

 技术分享技术分享              外面套的是一个GroupBox,他们的关系如图所示。

 

然后我们用以下代码装上按钮,我们的按钮是要放到右上角的,我们利用组合框来设置closebtn和minbtn的大小。

技术分享

 

装上了之后,就是两个普通的黑按钮,没有任何特效。为了加上如图特效,就可以用到界面美化的qss了。

技术分享    技术分享 这里必须提到一下button有两个参数,一个是hover(鼠标浮过),一个是press(鼠标按下)

 

要想做到以上特效,我们必须建立一个qss文件,初始化按钮为白色。

 

QPushButton#closebtn,QPushButton#minbtn                             类#作用对象            
{                                                                                            {
border: 0px;                                                                              属性
color: rgb(255, 255, 255);                                                         }
}                                                                                             

这里面我们把边框设置成0,颜色设置为白色,语法简单吧,当然,如果我们作用两个对象,可以用逗号隔开,如果我们作用所有的

按钮对象,可以直接 QPushButton{ 属性 },当然一般不建议使用。然后

QPushButton#minbtn:hover                                                   鼠标浮过minbtn  
{
background: rgba(30,144,255,0.7);                                        就变成蓝色
}

QPushButton#closebtn:hover                                                 鼠标浮过closebtn 
{
background: #FF3030;                                                          这是红色
}

技术分享加载完qss文件就OK啦

当然按下这个按钮的时候就是QPushButton#closebtn:pressed{  属性  } 可以自己定义自己想要的属性。

然后加载自己要的背景图片到对应的区域,方式雷同QGroupBox#对象{ border-image: url(:/pic/你的图片.png); }

或者作用于其他类的某个对象,当然,这些只能改变这些对象的属性,不能改变他的位置,但是这已经足够了,位置的话

需要你自己在UI里面布局,或者在代码里面布局,这里我就不多说了,用qss可以解决自己不熟悉UI而导致的一些弊端。

 

作者:Ten10

此文章属于博主原创,转载请注明出处

 

qt 5 界面美化

原文:http://www.cnblogs.com/Ten10/p/Ten19.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!