想问一下大家,现在QT界面编程中怎么把界面做的好看一点?就比如这个界面,这些按钮的效果是用的什么技术

html-css08

想问一下大家,现在QT界面编程中怎么把界面做的好看一点?就比如这个界面,这些按钮的效果是用的什么技术,第1张

这个一般人都会靠重载控件的paint函数来做.让按钮背景透明,失去按钮原来方方正正的边框然后在上面贴一个好看的按钮图片.相应按钮不同状态做不同的处理.(比如按下的时候让按钮颜色表按之类的)但是工作量,就是一个大啊.重载一两个控件还行.

Qt里面还可以用(视图,场景,模型)QGraphicsView,QGraphicsIitem.等等这一系列的类来开发不规则控件.用起来比较灵活.听说Qt Demo 就是用这个框架来开发的.

一个书上说比较好用的方法就是用QStyle来写界面的风格,不过对个人能力的要求还是比较搞的.搞过一两次,觉得是挺好用.比起上两个来说工作量小很多.但是要了解QStyle的用法....老实说这个东西实在很难.

另外你还可以用qss来搞.一种Qt中使用的css,虽然官方一直说是参考css搞出来的东西.但我怎么看都是一个样....

用代码搞了那么久的Qt界面美化.一直到qml出现了.我爱死他了.如果你一定要搞的话我建议你用qml来搞.那就是一个给力.就是有一点,现在qml的资料少得可怜...

最后.如果你是初学者的话最好不要去硬搞界面美化这一块....很伤的...到后面你会慢慢明白搞界面美化不是一个人可以做的事.你至少需要一个美工吧....呵呵呵呵....上述一切均为个人意见.仅供参考.....

/* *QWidget* */

QWidget {

    border: 1px solid #FF0000    /*边框*/

    border-radius: 5px           /*圆角*/

    background-color: red        /*背景色*/

}

QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有的属性都可以用在Qt的所有控件上。

基本和CSS相同,只是有的属性QSS中没有,相当于CSS的子集。

另外上面所有的这些选择器可以联合使用,并且支持一次设置多个选择器类型,用逗号隔开,同CSS一样。

QSS为很多复杂的复合控件提供了子控件的定义,以方便对这些复合控件的各个部分进行样式设置,具体使用下面说明。

QSS的伪状态选择器实际上与CSS中的类似,是以冒号开头的一个选择表达式,他限制了当控件在某一种状态下的时候才能应用QSS规则,伪状态只能描述一个控件的状态,或者是一个复合控件中的子控件的状态。下面列出常用的伪状态:

持续更新ing...