大家都知道通过样式表可以设置表格的整体样式:
QTableWidget * table = new QTableWidget(this);
table->setStyleSheet(“QTableWidget{border-top:1px solid blue;
border-left:1px solid blue;
border-right:1px solid blue;
border-bottom:1px dashed blue;}”);
但如果想设置某个具体单元格的边框样式,这个方法就不适用了。
思路一:表格里嵌套其它控件。
比如说嵌套个一行一列的表格,隐藏行头和列头,对这个表格的边框设置就等于对这个唯一单元格的边框设置了。
QTableWidget * table2 = new QTableWidget(1, 1, this);
table2->setStyleSheet(“QTableWidget{border-top:1px solid blue;
border-left:1px solid blue;
border-right:1px solid blue;
border-bottom:1px dashed blue;}”);
table2->horizontalHeader()->setVisible(false);
table2->verticalHeader()->setVisible(false);
table->setCellWidget(1, 1, table2);
或是嵌套一个QTextEdit,这个控件的边框设置与表格类似。
有些不需要编辑的情况下,也可以嵌套一个QLabel。
思路二:
自定义表格控件,从QTableWidget派生,重写Painter函数。但这样用起来并没有第一种方法灵活。
大家还有没有其它思路呢?欢迎留言讨论。
03-24
7707
08-27
2852
04-20