www.bt365.com您现在的位置:主页 > www.bt365.com >

Qt实现了FlatUI风格(开源)

2019-06-10 14:24365bet手机网址多少

对于前端开发人员,FlatUI肯定不是另一个。平面设计近年来越来越受欢迎。扁平化似乎进一步改善了它,可能是因为PC侧和移动侧设备的分辨率越来越高人们很高兴,但是降级颜色产生的纹理颜色变平了不亲密
FlatUI是基于Bootstrap二次开发的前平板框架。它提供动态,优雅的风格色调,简单而令人惊叹的功能组件,并提供更柔和的交互式js动画,可称为前端平面设计框架的主要代表之一你。
当然,您是平面设计框架的良好代表,因此您需要将应用程序应用于您自己的项目。我们首先使用VB开发,然后切换到C#开发,最后切换到Qt开发。编程框架是相同的语言,换句话说,用C#编写的前一个视图时钟控件和视图日历控件。只要这个想法占主导地位,只要你是一名语言专家,就会略微修改它以转移到Qt编写的相应控件,其他研究特别快。
Qt的机制qss与css非常相似。感觉就像它是从css诞生的。使用Qss来实现Qt界面风格并不方便,但它非常酷。看完像FlatUI这样漂亮的平面设计风格后,很难,但我想用qss来达到类似的风格,以减少瘙痒。
第一步:实现按钮样式。
该按钮显示在可视界面中的大多数项目中。由于频率不是第一个或第二个,我们将首先实现与按钮对应的平面样式。
根据官方网站的效果,基本上你在3种状态下设置2种颜色(背景颜色+前景色)(和非活动状态)(正常状态+鼠标滚动状态+鼠标按下)。景观通常是文字的颜色。
相应的按钮样式更改为一个函数,每个调用只需要传递相应的参数。
voidfrmMain:setBtnQss(QPushButton * btn,
QStringnormalColor,QStringnormalTextColor,
QStringhoverColor,QStringhoverTextColor,
QStringpressedColor,QStringpressedTextColor)
QStringListqss;
QSS
添加(QString(“QPushButton{border style:none; fill:10 pixels; border radius:5 pixels; color:%1; background:%2;}”)。
参数(normalTextColor)
Arg(正常颜色));
QSS
添加(QString(“QPushButton:hover{color:%1; background:%2;}”)。
参数(hoverTextColor)
Arg(hoverColor));
QSS
添加(QString(“QPushButton:按{color:%1; background:%2;}”)。
参数(pressTextColor)
Arg(pressColor));
btn-setStyleSheet(qss
绑定(“”));
在使用时调用。
setBtnQss(ui-btn1,“#34495E”,“#FFFFFF”,“#4E6D8C”,“#F0F0F0”,“#2D3E50”,“#B8C6D1”);
setBtnQss(ui-btn2,“#1ABC9C”,“#E6F8F5”,“#2EE1C1”,“#FFFFFF”,“#16A086”,“#A7EEE6”);
setBtnQss(ui-btn3,“#3498DB”,“#FFFFFF”,“#5DACE4”,“#E5FEFF”,“#2483C7”,“#A0DAFB”);
setBtnQss(ui-btn4,“#E74C3C”,“#FFFFFF”,“#EC7064”,“#FFF5E7”,“#DC2D1A”,“#F5A996”);
第2步:实现文本输入框样式
根据官方网站的效果,基本上是2种状态(正常状态+焦点状态)的2种颜色(边框颜色+文本颜色)的设置。
voidfrmMain:setTxtQss(QLineEdit * txt,QStringnormalColor,QStringfocusColor)
QStringListqss;
QSS
添加(QString(“QLineEdit{border style:none; fill:6 pixels; border radius:5 pixels; border:2 pixels x%1;}”)。
Arg(正常颜色));
QSS
添加(QString(“QLineEdit:focus{border:2pxsolid%1;}”)。
Arg(focusColor));
Txt-setStyleSheet(qss
绑定(“”));
在使用时调用。
setTxtQss(ui-txt1,“#DCE4EC”,“#34495E”);
setTxtQss(ui-txt2,“#DCE4EC”,“#1ABC9C”);
setTxtQss(ui-txt3,“#DCE4EC”,“#3498DB”);
setTxtQss(ui-txt4?? ??,“#DCE4EC”,“#E74C3C”);
第三阶段:进度条样式。
根据官方网站的效果,它基本上是2种颜色的设置(正常背景颜色+当前值的背景颜色)。
voidfrmMain:setBarQss(QProgressBar * bar,QStringnormalColor,QStringchunkColor)
intbarHeight = 8;
intbarRadius = 8;