QTableWidget通过QSS美化

这篇具有很好参考价值的文章主要介绍了QTableWidget通过QSS美化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

外观

qtablewidget qss,QT,ui,qt,开发语言

#ifndef MAINWIDGET_H
#define MAINWIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWidget; }
QT_END_NAMESPACE

class MainWidget : public QWidget
{
    Q_OBJECT

public:
    MainWidget(QWidget *parent = nullptr);
    ~MainWidget();

private:
    Ui::MainWidget *ui;
};
#endif // MAINWIDGET_H

// mainwidget.cpp
#include "mainwidget.h"
#include "ui_mainwidget.h"
#include <QString>
#include <QFile>
#include <QTextStream>

MainWidget::MainWidget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::MainWidget)
{
    ui->setupUi(this);
    ui->tableWidget->verticalHeader()->setVisible(true);

    QString qss;
    QFile file(":/style.css");
    if (file.open(QFile::ReadOnly)) {
        QStringList list;
        QTextStream in(&file);
        while (!in.atEnd()) {
            QString line;
            in >> line;
            list << line;
        }

        file.close();
        qss = list.join("\n");
        QString paletteColor = qss.mid(20, 7);
        qApp->setPalette(QPalette(paletteColor));
        qApp->setStyleSheet(qss);
    }
}

MainWidget::~MainWidget()
{
    delete ui;
}

// main.cpp
#include "mainwidget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWidget w;
    w.show();
    return a.exec();
}

// style.css
* {
    outline: 0px;
    color: #DCDCDC;
    background: #444444;
}

QTableView {
    border: 1px solid #242424;
    selection-background-color: #646464;
    selection-color: #DCDCDC;
    alternate-background-color: #525252;
    gridline-color: #242424;
}

QTableView::indicator {
    padding: 0px 0px 0px 0px;
    width: 15px;
    height: 15px;
}

QTableView::indicator:unchecked {
    image:url(:/image/checkbox_unchecked.png);
}

QTableView::indicator:unchecked:disabled {
    image:url(:/image/checkbox_unchecked_disable.png);
}

QTableView::indicator:checked {
    image:url(:/image/checkbox_checked.png);
}

QTableView::indicator:checked:disabled {
    image:url(:/image/checkbox_checked_disable.png);
}

QTableView::indicator:indeterminate {
    image:url(:/image/checkbox_parcial.png);
}

QTableView::indicator:indeterminate:disabled {
    image:url(:/image/checkbox_parcial_disable.png);
}

QTableView::item:selected {
    color: #DCDCDC;
    background: #383838;
}

QTableView::item:hover {
    color: #DCDCDC;
    background: #525252;
}

QTableView::item {
    padding: 1px;
    margin: 0px;
    border: 0px;
}

/* 表格样式 */
QTableView QLineEdit,
QTableView QComboBox,
QTableView QSpinBox,
QTableView QDoubleSpinBox,
QTableView QDateEdit,
QTableView QTimeEdit,
QTableView QDateTimeEdit {
    border-width: 1px;
    border-radius: 0px;
}

/* 选中表格后样式 (此处QLineEdit:focus生效) */
QTableView QLineEdit:focus,
QTableView QComboBox:focus,
QTableView QSpinBox:focus,
QTableView QDoubleSpinBox:focus,
QTableView QDateEdit:focus,
QTableView QTimeEdit:focus,
QTableView QDateTimeEdit:focus {
    background-color: #3fd4f2;
    border-width: 3px;
    border-radius: 5px;
}

/* 滚动条样式 */
QScrollBar:horizontal {
    background:#484848;
    padding:0px;
    border-radius:6px;
    max-height:12px;
}

QScrollBar::handle:horizontal {
    background:#242424;
    min-width:50px;
    border-radius:6px;
}

QScrollBar::handle:horizontal:hover {
    background:#AAAAAA;
}

QScrollBar::handle:horizontal:pressed {
    background:#AAAAAA;
}

QScrollBar::add-page:horizontal {
    background:none;
}

QScrollBar::sub-page:horizontal {
    background:none;
}

QScrollBar::add-line:horizontal {
    background:none;
}

QScrollBar::sub-line:horizontal {
    background:none;
}

QScrollBar:vertical{
    background:#484848;
    padding:0px;
    border-radius:6px;
    max-width:12px;
}

QScrollBar::handle:vertical{
    background:#242424;
    min-height:50px;
    border-radius:6px;
}

QScrollBar::handle:vertical:hover {
    background:#AAAAAA;
}

QScrollBar::handle:vertical:pressed {
    background:#AAAAAA;
}

QScrollBar::add-page:vertical {
    background:none;
}

QScrollBar::sub-page:vertical {
    background:none;
}

QScrollBar::add-line:vertical {
    background:none;
}

QScrollBar::sub-line:vertical {
    background:none;
}

/* 表头样式 QTableCornerButton::section是tablewidget左上角那一小块 详见https://blog.csdn.net/qq_43627907/article/details/125677496 */
QHeaderView, QHeaderView::section, QTableView QTableCornerButton::section {
    color: #DCDCDC;
    background: #525252;
}

QHeaderView::section, QTableCornerButton:section {
    padding: 3px;
    margin: 0px;
    border: 1px solid #242424;
    border-left-width: 0px;
    border-right-width: 1px;
    border-top-width: 0px;
    border-bottom-width: 1px;
}

QHeaderView::section:disabled {
    background: #444444;
    border-color: #484848;
    color: #242424;
}

详见Github文章来源地址https://www.toymoban.com/news/detail-533669.html

到了这里,关于QTableWidget通过QSS美化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt样式表Qss

    Qss是Qt程序界面中用来设置控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性 它是用来美化UI界面。实现界面和程序的分离,快速切换皮肤。 学习视频 选择器 {属性 : 值} 属性是不区分大小写的 情况1:单个选择器 情况2:多个选择器 情况3:选择器由多个属

    2024年02月13日
    浏览(49)
  • Qt::实现qtablewidget分页功能

    头文件: .cpp文件 实现效果:      大佬写得很棒,很简单就实现了qtablewidget的分页功能,但是不知道会不会有什么问题,现在看起来是没问题的,加了个跳转功能,写得比较潦草

    2024年02月15日
    浏览(37)
  • Qt QTableWidget表格控件的用法(非常详细)

    QTableWidget 是 Qt 提供的一种表格控件(如图 1 所示),类似于我们经常使用的 Excel 表格,可以将数据以表格的方式展示给用户。 整个 QTableWidget 表格可以分为 3 个区域: 区域 ① 和 ② 都是表头,区域 ① 设置每一行的表头,区域 ② 设置每一列的表头。我们可以自定义两个区

    2024年01月20日
    浏览(36)
  • QT实例2(QTableWidget表格中增删数据)

    本案例仅简单介绍QTableWidget部分使用方法,如在表格中插入或删除一行数据以及清空表格数据等。在添加数据时,设置了条件判断如正则表达式,若用户输入的数据不合法,则添加失败并提示用户错误的地方,便于用户修改。 如上图所示,使用QWidget类创建并设置UI界面,其中

    2024年02月01日
    浏览(33)
  • QT-QTablewidget 设置选中某一行

    要在 QTableWidget 中设置选中的行,可以使用 setCurrentItem() 函数来设置当前的 QTableWidgetItem。你可以通过调用 QTableWidget 的 item() 函数获得指定行和列的 QTableWidgetItem,然后通过将其传递给 setCurrentItem() 函数来设置选中的行。 下面是一个示例代码,演示了如何设置 QTableWidget 中的选

    2024年02月09日
    浏览(42)
  • C++Qt QSS要注意的坑

    qss源自css,相当于css的一个子集,主要支持的是css2标准,很多网上的css3的标准的写法在qss这里是不生效的,所以不要大惊小怪。 qss也不是完全支持所有的css2,比如text-align官方文档就有说明,只支持 QPushButton and QProgressBar,务必看清楚。 有时候偷懒直接来一句 *{xxx},你会发

    2024年02月10日
    浏览(37)
  • Qt QTableWidget 表格自适应 高度和宽度

    1. 在MainWindow中设置 1.1. 对被嵌入的子窗口进行设置,去除子窗口的一些影响到嵌入的部件。 pTable:指向子窗口堆内存的指针 1.2. 设置子窗口可以跟随主窗口自适应变化宽度。 水平方向:子窗口的自适应缩放。也可以直接在设计师中完成。 2. 在QTableWidget ui表格的 cpp文件中设

    2023年04月21日
    浏览(78)
  • QT各种控件常用样式表qss示例

    目录 1、表格控件QTableWidget和QTableView 2、滚动条QScrollBar 这个控件比较复杂,里面包含了滑动条、表头(又细分为内容区/空白区)、表格、整体、左上角按钮等多种不同的元素,他们之间有复杂的叠层关系。需要通过各种“选择器”来指定样式的作用范围。 本文由【暴躁的野

    2024年02月16日
    浏览(43)
  • 【Qt笔记】QSS中常用的子控件

    子控件名称 说明 ::branch QTreeView的分支指示器 ::chunk QProgressBar的进度显示块 ::close-button QDockWidgte或QTabBar页面的关闭按钮 ::down-arrow QComboBox、QHeaderView(排序指示器)、QScrollBar或QSpinBox的下拉箭头 ::down-button QScrollBar或QSpinBox的向下按钮 ::float-button QComboBox的下拉按钮 ::groove QSlider的凹

    2024年02月21日
    浏览(46)
  • Qt编程基础 | 第六章-窗体 | 6.3、QTableWidget

    QTableWidget是QT中的表格组件类,一般用来展示多行多列的数据,是QT中使用较多的控件之一。QTableWidgetItem用来表示表格中的一个单元格,整个表格都需要用逐个单元格构建起来。 2.1、设置表格的行数与列数 2.2、添加单元格 2.3、表头设置 2.4、设置行表头、列表头是否显示 2.

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包