1.問題簡介
在操作tablewidget表格的時候,常常會遇到設置整個表格的背景色然後卻設置不了垂直表頭和平行表頭的問題,因此需要對錶頭進行單獨的操作
2.解決方法
1)初步解決
按如下CSS(Qt中的QSS)的樣式設置方法,可將依託於widget上的tablewidget設置成透明顏色或者其他顏色,方便於添加窗口整體背景色等其他操作
ui->userTableWidget->setStyleSheet("background-color:transparent;"); //整個表格透明
ui->userTableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:transparent;font:13pt '宋體';color: white;}"); //行表頭
ui->userTableWidget->verticalHeader()->setStyleSheet("QHeaderView::section{background-color:transparent;font:13pt '宋體';color: white;}"); //列表頭
2)進一步解決
使用上述代碼對錶頭操作後發現tablewidget的左上角始終會有一塊區域,無法操作,這個時候只需要將默認的垂直表頭設置爲不可見,這樣左上角就不會有行和列的交匯,代碼改進如下
ui->userTableWidget->setStyleSheet("background-color:transparent;");
ui->userTableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:transparent;font:13pt '宋體';color: white;}"); //行表頭
ui->userTableWidget->verticalHeader()->setVisible(false);