QHeaderView的樣式設定(以QTableWidget的header為例)

http://apps.hi.baidu.com/share/detail/15603396

 

 

QTableWidget* table = new QTableWidget(3,4,this);
table->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
table->setFixedSize(640,480);
//verticalHeader

table->verticalHeader()->setStyleSheet
("QHeaderView::section {background-color:darkcyan;"
"color: red;padding-left: 4px;border: 1px solid #6c6c6c;}");
//
horizontalHeader
table->horizontalHeader()->setStyleSheet
("QHeaderView::section {background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,"
"stop:0 #616161, stop: 0.5 yellow,stop: 0.6 green, stop:1 cyan);"
"color: white;padding-left: 4px;border: 1px solid #6c6c6c;}"
"QHeaderView::section:checked{background-color: red;}"
"QHeaderView::down-arrow {image: url(down_arrow.png);}"
"QHeaderView::up-arrow {image: url(up_arrow.png);}");

table->move(10,10);
table->show();



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你想要将 QTableWidgetheader 设置为透明背景,可以通过设置样表来实现。具体步骤如下: 1.获取 QTableWidget 的 horizontalHeader() 和 verticalHeader() 对象。 ```python horizontalHeader = tableWidget.horizontalHeader() verticalHeader = tableWidget.verticalHeader() ``` 2.设置 header 的样表,将其背景色设置为透明。 ```python horizontalHeader.setStyleSheet("background-color: transparent;") verticalHeader.setStyleSheet("background-color: transparent;") ``` 完整代码如下: ```python from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView from PyQt5.QtGui import QColor app = QApplication([]) tableWidget = QTableWidget() tableWidget.setRowCount(5) tableWidget.setColumnCount(3) # 设置表头颜色 header_color = QColor(255, 170, 0) tableWidget.horizontalHeader().setStyleSheet("background-color: %s;" % header_color.name()) tableWidget.verticalHeader().setStyleSheet("background-color: %s;" % header_color.name()) # 设置表头为透明背景 horizontalHeader = tableWidget.horizontalHeader() verticalHeader = tableWidget.verticalHeader() horizontalHeader.setStyleSheet("background-color: transparent;") verticalHeader.setStyleSheet("background-color: transparent;") # 添加数据 for i in range(5): for j in range(3): item = QTableWidgetItem("row %d, column %d" % (i, j)) tableWidget.setItem(i, j, item) tableWidget.show() app.exec_() ``` 这样就可以将 QTableWidgetheader 设置为透明背景了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值