qt 5 界面美化

摘要:
所谓的代码布局只使用qss样式表,这与css样式表的语法类似。我不会在下面说太多废话,而是直奔主题。为了添加如图所示的特殊效果,您可以使用界面美化的qs。这里必须提到,按钮有两个参数,一个是悬停,另一个是按下。为了实现上述特殊效果,我们必须创建一个qss文件,初始化按钮是白色的。

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

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

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

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

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

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

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

qt 5 界面美化第1张qt 5 界面美化第2张 外面套的是一个GroupBox,他们的关系如图所示。

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

qt 5 界面美化第3张

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

qt 5 界面美化第4张qt 5 界面美化第5张这里必须提到一下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; 这是红色
}

qt 5 界面美化第6张加载完qss文件就OK啦

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

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

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

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

作者:Ten10

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

免责声明:文章转载自《qt 5 界面美化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇性能测试方法和应用Quartz.Net—初识下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MFC学习之Radio---MFC Radio按钮组的使用例子

首先我们要完成一个功能,在一个添加新用户的场景里,通过Radio按钮来判断用户选择的是管理员还是普通用户。 要使用Radio组的功能首先我们必须作如下设置: 1、2个Radio按钮的ID号不同,但是他们的tab顺序必须是按顺序排列的,这些都可以在Resource.h文件里面查看到。 如:Radio1 ID:IDC_RADIO_ADMIN Radio2 ID...

5.使用 unity GUI代码生成按钮

在Project面板中点击鼠标右键选择:Create/JavaScript创建一个新的JavaScript 对象,在Project面板中会发现多了一个java对象NewBehaviourScript,重命名为GUIButton,双击 GUIButton进入编辑状态,在编辑窗口中输入以下代码并保存   function OnGUI()  {  GUI.B...

WPF知识点全攻略06- WPF逻辑树(Logical Tree)和可视树(Visual Tree)

介绍概念之前,先来分析一段代码: xaml代码如下: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micros...

c#Winform程序的toolStripButton自己定义背景应用演示样例源代码

C# Winform程序的toolStrip中toolStripButton的背景是蓝色的,怎样改变背景及边框的颜色和样式呢? 实现此功能须要重写toolStripButton的Paint方法 这里仅仅是给出解决这个问题的思路和方法,例如以下图,当鼠标移到button上,背景会变为黑色 实现代码例如以下: ToolStripBu...

WPF 纯代码生成界面(不使用XAML)

    对于编写 WPF 应用程序,只是用代码进行开发而不使用任何 XAML 不是常见的方式(但是仍然完全支持)。只使用代码进行开发的明显缺点是,有可能会使用编写 WPF 应用程序成为极端乏味的工作。 WPF 控件没有包含参数化的构造函数,因此即使为窗体添加一个简单的按钮也需要编写几行代码。只使用代码进行开发的一个潜在的优点是可以随意定制应用程序。例如,可...

JQuery validationEngine 验证页面是否全部通过验证

采用如下的方式进行验证。 if(jQuery("#form1").validationEngine('validate')) 如果页面中有JS调用了其他的按钮点击事件的话。需要将其type设定为button 不能讲其type 设置为submit <input type="button" onclick="GetValues()" value="保存"...