相关文章推荐
乐观的青蛙  ·  Audio/Video ...·  1 周前    · 
仗义的炒面  ·  TCL file mkdir - CSDN文库·  5 月前    · 
开朗的烈酒  ·  解决ubuntu -bash: cd: ...·  1 年前    · 
豪情万千的路灯  ·  Python ...·  1 年前    · 

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);
                                    如下是对tabwidget表头设置。background-color是对表头背景颜色设置。font是对字体大小,字体颜色字体格式设置。
ui.tableWidget_grid->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:rgb(40,143,218);font:13pt '宋体';col
			  font-size: 19px;				/*11榜*/
	      border: 1px solid rgb(255, 255, 255);
       /* border-bottom: 2px solid rgb(35, 100, 224); 		下边框深蓝色*/
        background: rgb(100, 188, 238...
                                    2). 必须在ui->tableWidget->horizontalHeader()样式设置之后设置,因为ui->tableWidget->horizontalHeader()样式的设置会使QTableCornerButton控件的样式不生效;水平和垂直表头样式设置时,需要先设定水平方向的表头样式,再通过QTableWidget控件设置垂直及QTableCornerButton的样式才能生效。1). 必须通过ui->tableWidget设置样式;以上遇到问题,记录下解决过程。
  笔者希望提供给用户自定义修改表头背景颜色的机会,但是查找多个资料都表示,Qt无法通过下述方式对已设置表头颜色表头进行颜色更换;还有表明无法对表头背景颜色进行更换的,如下:
  但是经过无数试错,我发现,其实表头背景可以实时修改,下面开始讲述。
正确方法:
  已知Qt提供了由样式表来设置表头背景、字体样式等方法,具体代码如下:
ui->tableWidget-&...
                                    QTableWidget 设置表头颜色
setStyleSheet( "QHeaderView::section {background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #00007f, stop: 0.5 #00007f,stop: 0.6 #00007f, stop:1 #00007f);color: white;}");
setStyleSheet(
		"QTableWidget{ color:black
                                    TabWidget::TabWidget(QWidget *parent): QTabWidget(parent),mousePressFlag(false)
	bar=tabBar();
	QPalette palette;
	bar->installEventFilter(this);
	palette.setColor(QPalette::Active,QPalette::Button ,QColor(0,0,255)); 
	bar->setPalette(palette);