重生之我是程序员 2023-01-12 11:11 采纳率: 0%
浏览 119

Qt QTableWidget怎么给整个表格添加背景色,不是一个一个添加

Qt  QTableWidget怎么给整个表格添加背景色,不是一个一个添加

  • 写回答

2条回答 默认 最新

  • m0_54204465 2023-01-12 11:36
    关注

    在 Qt 中,可以使用 QTableWidget 类来实现表格。要给整个表格设置背景色,可以使用 QTableWidget 类的 setStyleSheet() 方法。

    示例代码:

    #include <QtWidgets>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QTableWidget table(3, 3);
        table.setStyleSheet("QTableWidget { background-color: yellow; }");
        table.show();
    
        return a.exec();
    }
    
    

    上面这个代码片段创建了一个 3x3 的表格,然后使用 setStyleSheet 方法设置整个表格的背景色为黄色。

    也可以使用 css 来实现, 例如:

    table->setStyleSheet("QTableWidget {background-color: red;}");
    
    

    这样做会将整个表格背景颜色设置为红色。

    注意这样的改动会影响整个窗口,如果窗口有其它部件也会被改动。另一种方法是使用QPalette来更改特定的部件的样式。

    示例代码:

    QPalette pal = table->palette();
    pal.setColor(QPalette::Background, Qt::blue);
    table->setPalette(pal);
    
    

    这段代码将表格的背景设置为蓝色。

    也可以使用 setAutoFillBackground() 函数来实现这个功能。

    table->setAutoFillBackground(true);
    table->setPalette(QPalette(QColor(255, 0, 0)));
    
    

    setAutoFillBackground(true)将背景颜色填充到整个窗体,然后设置颜色为红色,效果是一样的。

    总结:可以使用setStyleSheet,QPalette和setAutoFillBackground来实现整个表格的背景色设置,可以根据你的应用场景和需求来选择使用。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月12日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!