qt在表格中如何画线_Qt如何使⽤表格?(三)
在上⼀篇中表格已经变得⼯整了不少,不过看上去还是太素了。在这个看脸的时代这是不⾏的。那怎么办呢?别担⼼,Qt最擅长就是⼲这个了。接下来就⽤Qt的样式表给表格上点颜⾊。
我们从表头开始,先给弄它弄个背景⾊,另外字体加粗以⽰区别。
table->setStyleSheet(QString( "QTableWidget QHeaderView::section{background:#2a9ee4;font-weight:bold;}")); //设置样式表
fontweight属性boldQt使⽤setStyleSheet函数来设置部件的样式表。这⾥QHeaderView表⽰表头,section表⽰表头上层的可选中的区域,由于设置了最后⼀⾏拉伸,所以是看不到section下⼀层的界⾯。
现在看来表头是凸起的,⽽且也不够⾼,接着在设置。
table->setStyleSheet(QString("QTableWidget QHeaderView::section{background:#2a9ee4;font-weight:bold;
border:none; height:35px; color:white;}"));
这⼀步加了三个属性及对应的值,第⼀个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;}"));
这⼀步给表格设置了三个属性及对应的值,第⼀个是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;}"  //样式表
在样式表中使⽤alternate-background-color属性来控制间隔⾏的颜⾊。设置的是偶数⾏的颜⾊。如果想设置奇数⾏的颜⾊可以通过设置表格的背景颜⾊来实现。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。