美文网首页Qt学习码农的世界程序员
Qt如何使用表格?(三)

Qt如何使用表格?(三)

作者: fearlazy | 来源:发表于2018-01-29 00:07 被阅读398次

    上一篇中表格已经变得工整了不少,不过看上去还是太素了。在这个看脸的时代这是不行的。那怎么办呢?别担心,Qt最擅长就是干这个了。接下来就用Qt的样式表给表格上点颜色。

    我们从表头开始,先给弄它弄个背景色,另外字体加粗以示区别。

    table->setStyleSheet(QString( "QTableWidget 
    QHeaderView::section{background:#2a9ee4;font-weight:bold;}"));
    
    01

    Qt使用setStyleSheet函数来设置部件的样式表。这里QHeaderView表示表头,section表示表头上层的可选中的区域,由于设置了最后一行拉伸,所以是看不到section下一层的界面。
    现在看来表头是凸起的,而且也不够高,接着在设置。

        table->setStyleSheet(QString("QTableWidget 
    QHeaderView::section{background:#2a9ee4;font-weight:bold; 
    border:none; height:35px; color:white;}"));              
    
    02

    这一步加了三个属性及对应的值,第一个border:none;去掉了section的边框。第二个height:35px,设置高度为35像素。顺便设置了第三个color:white设置文字的颜色为白色。 这样看上去舒服多了。接下来给表格也设置一些颜色:

    table->setStyleSheet(QString("QTableWidget 
    QHeaderView::section{background:#2a9ee4;font-weight:bold; 
    border:none; height:35px; color:white;}"
    "QTableWidget{gridline-color:#2aaee4; color:#888; border:none;}"));
    
    03

    这一步给表格设置了三个属性及对应的值,第一个是gridline-color:#2aaee4,设置网格线的颜色,#2aaee4是用十六进制表示颜色的方法。第二个是color:#888,设置文字的颜色,#888相当于#888888。最后一个是border:none去掉了表格边框,这样看起来更清爽一点了。

    如果表格中的行数非常多的话,经常会看走眼了。所以我们要设置间隔行颜色不同以示区分。对于表格需要先开启间隔行背景色的功能,默认间隔行背景色是灰色的,我们可以在样式表中控制这个颜色。

    table->setAlternatingRowColors(true);  //开启间隔行颜色
    
    "QTableWidget{gridline-color:#2aaee4; color:#888; border:none; 
    alternate-background-color:lightblue;}"  //样式表
    
    04

    在样式表中使用alternate-background-color属性来控制间隔行的颜色。设置的是偶数行的颜色。如果想设置奇数行的颜色可以通过设置表格的背景颜色来实现。

    相关文章

      网友评论

      本文标题:Qt如何使用表格?(三)

      本文链接:https://www.haomeiwen.com/subject/uddtzxtx.html