Qt QTableView样式设置

article/2025/10/23 9:31:57

                        Qt QTableView样式设置

 

显示效果

QSS设置

 

选中设置:

1

2

3

4

5

QTableView::item:selected

{

    background:rgb(0,0,100);

    color:white;

}

表头设置:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

QHeaderView::section:first

{

    border-image: url(:/images/expand/tempUser_headBg2.png);

    height: 30px;

    font: 11pt "微软雅黑";

}

 

QHeaderView::section:middle

{

    border-image: url(:/images/expand/tempUser_headBg2.png);

    height: 30px;

    font: 11pt "微软雅黑";

}

 

QHeaderView::section:last

{

    border-image: url(:/images/expand/tempUser_headBg4.png);

    height: 30px;

    font: 11pt "微软雅黑";

}

滚动条设置:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

QScrollBar:vertical {

    border: 0px;

    background:rgba(255,255,255,0);

    border-image:url(:/images/scrollbar/vertical_scrollBg.png);

    width: 22px;

    margin: 22px 0  22px 0;

}

 

QScrollBar::handle:vertical {

     border-image:url(:/images/scrollbar/vertical_slide.png);

    width:22px;

min-height:50px;

max-height:200px;

 }

 

QScrollBar::handle:vertical:hover {

    border-image: url(:/images/scrollbar/vertical_slide_hover.png);

     width:22px;

min-height:50px;

max-height:200px;

 }

 

QScrollBar::handle:horizontal:hover {

    border-image: url(:/images/scrollbar/slide.png);

     width:22px;

min-height:35px;

 }

 

QScrollBar::handle:vertical:hover {

     border-image:url(:/images/scrollbar/vertical_slide_hover.png);

    width:22px;

 }

 

 QScrollBar::add-line:vertical {

     border-image:url(:/images/scrollbar/vertical_down.png);

     height: 22px;

     subcontrol-position: bottom;

     subcontrol-origin: margin;

 

 }

 QScrollBar::add-line:vertical:pressed{

     border-image:url(:/images/scrollbar/vertical_down_down.png);

     height: 22px;

     subcontrol-position: bottom;

     subcontrol-origin: margin;

 

 }

 QScrollBar::sub-line:vertical {

      border-image:url(:/images/scrollbar/vertical_up.png);

     height:22px;

     subcontrol-position: top;

     subcontrol-origin: margin;

 }

 QScrollBar::sub-line:vertical:pressed {

      border-image:url(:/images/scrollbar/vertical_up_down.png);

     height: 22px;

     subcontrol-position: top;

     subcontrol-origin: margin;

 }

QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {

     background: none;

 }

 

QScrollBar:horizontal {

    border: 0px;

    background:rgba(255,255,255,0);

    border-image:url(:/images/scrollbar/scrollBg.png);

    height: 22px;

    margin: 0 22px 0  22px;

}

 

QScrollBar::handle:horizontal {

     border-image:url(:/images/scrollbar/slide.png);

    height:22px;

 }

 

QScrollBar::handle:vertical:hover {

     border-image:url(:/images/scrollbar/vertical_slide_hover.png);

    width:22px;

 }

 

 QScrollBar::add-line:horizontal {

     border-image:url(:/images/scrollbar/down.png);

     width: 22px;

     subcontrol-position: right;

     subcontrol-origin: margin;

 

 }

 QScrollBar::add-line:horizontal:pressed{

     border-image:url(:/images/scrollbar/down_down.png);

     width: 22px;

     subcontrol-position: right;

     subcontrol-origin: margin;

 

 }

 QScrollBar::sub-line:horizontal {

      border-image:url(:/images/scrollbar/up.png);

     width:22px;

     subcontrol-position: left;

     subcontrol-origin: margin;

 }

 QScrollBar::sub-line:horizontal:pressed {

      border-image:url(:/images/scrollbar/up_down.png);

     width: 22px;

     subcontrol-position: left;

     subcontrol-origin: margin;

 }

QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {

     background: none;

 }

行之间颜色渐变(alternaingRowColors必须设置为true):

1

2

3

4

5

QTableView

{

    background-color: rgb(255, 255, 255);

    alternate-background-color:#F2F8FF;

}

 设置QTreeWidget水平滚动条: 

1

2

ui.treeWidget_site->header()->setSectionResizeMode(QHeaderView::ResizeToContents); 

ui.treeWidget_site->header()->setStretchLastSection(false);

  代码设置

void MainWindow::initUi()
{//    // 表头
//   ui->tableWidget->setColumnCount(m_iColumCount);
//   ui->tableWidget->setRowCount(1);
//   ui->tableWidget->verticalHeader()->setVisible(false);
//   ui->tableWidget->horizontalHeader()->setVisible(false);
//   ui->tableWidget->setFrameShape(QFrame::NoFrame);
//   ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//   ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//   ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
//   ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
//   ui->tableWidget->setFocusPolicy(Qt::NoFocus);QStandardItemModel* model = new QStandardItemModel();/* 设置列数 */model->setColumnCount(14);model->setHeaderData(0, Qt::Horizontal, QStringLiteral("任务编号"));model->setHeaderData(1, Qt::Horizontal, QStringLiteral("任务类型"));model->setHeaderData(2, Qt::Horizontal, QStringLiteral("工作模式"));model->setHeaderData(3, Qt::Horizontal, QStringLiteral("中频频率"));model->setHeaderData(4, Qt::Horizontal, QStringLiteral("中频带宽"));model->setHeaderData(5, Qt::Horizontal, QStringLiteral("中频增益"));model->setHeaderData(6, Qt::Horizontal, QStringLiteral("调制类型"));model->setHeaderData(7, Qt::Horizontal, QStringLiteral("调制速率"));model->setHeaderData(8, Qt::Horizontal, QStringLiteral("发射频率"));model->setHeaderData(9, Qt::Horizontal, QStringLiteral("发射功率"));model->setHeaderData(10, Qt::Horizontal, QStringLiteral("成型系数"));model->setHeaderData(11, Qt::Horizontal, QStringLiteral("任务状态"));model->setHeaderData(12, Qt::Horizontal, QStringLiteral("开始时间"));model->setHeaderData(13, Qt::Horizontal, QStringLiteral("结束时间"));/* 设置行数 */model->setRowCount(14);model->setHeaderData(0, Qt::Vertical, QStringLiteral("1"));ui->tableView->horizontalHeader()->setStyleSheet("QHeaderView::section {""color: #44b4da; background-color: rgb(21, 45, 93);padding-left: 4px;border: 1px solid #44b4da;}");ui->tableView->setModel(model);/* 设置列宽在可视界面自适应宽度 */
//    ui->tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);ui->tableView->horizontalHeader()->setResizeContentsPrecision(QHeaderView::Stretch);/* 行颜色交替显示 */ui->tableView->setAlternatingRowColors(true);/* 不允许在图形界面修改内容 */ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);/* 在表格内加入内容 */model->setItem(0, 0, new QStandardItem(QStringLiteral("数字")));/* 显示表 */ui->tableView->show();
}

工程代码下载

 

参考

转载请注明出处:http://www.cnblogs.com/dachen408/p/7591409.html

 

 


http://chatgpt.dhexx.cn/article/2l8L3Twg.shtml

相关文章

Qt QTableView详解

一.常用接口 1.设置model&#xff0c;添加model数据 model new QStandardItemModel(this);model->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");QStandardItem *item00 new QStandardItem("…

QTableView常用设置

QTableView的设置比较复杂&#xff0c;做项目的时候总是搞忘&#xff0c;以本文记录一下它的样式、布局等设置方式。 目录 1、设置item布局1.1、平均铺满1.2、最后一项铺满 2、交替背景色2.1、行交替2.2、项交替 3、去掉选中虚线4、去掉网格线5、设置选中方式5.1、选中单个项目…

qt中Qtableview的用法

QTableView常用于实现数据的表格显示。下面我们如何按步骤实现学生信息表格&#xff1a; 一 添加表头 //准备数据模型 QStandardItemModel *student_model new QStandardItemModel(); student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr(&…

Qt深入浅出(十五)QTableView

QTableView ​ 表格视图控件QTableView&#xff0c;需要和QStandardItemModel, 配套使用&#xff0c;这套框架是基于MVC设计模式设计的&#xff0c;M(Model)是QStandardItemModel数据模型&#xff0c;不能单独显示出来。V(view)是指QTableView视图&#xff0c;要来显示数据模型…

Qt QTableView

TableView 表格视图控件QTableView&#xff0c;需要和QStandardItemModel, 配套使用&#xff0c;这套框架是基于MVC设计模式设计的&#xff0c;M(Model)是QStandardItemModel数据模型&#xff0c; 不能单独显示出来。V(view)是指QTableView视图&#xff0c;要来显示数据模型&…

QT QtableView操作详解

本文实现了使用QtableView控件来显示数据&#xff0c;数据源使用txt文本作为数据源&#xff0c;使用了QStandardItemModel作为数据模型来实现了对TableView空间的初始化&#xff0c;和对txt数据源的增删改查功能。 QT QtableView操作详解目录 1. 项目结构&软件界面 2. m…

QTableView使用方法小结

本文总结了QTableView常用方法&#xff0c;包括常规的数据显示、表头设置、字体和颜色设置、行列的高宽&#xff0c;显示格式设置等&#xff0c;还有一套分页算法&#xff0c;在QTableView表格里插入QLineEdit、QPushButton、QCheckBox等控件&#xff0c;常用的qss设置&#xf…

Qt之QTableView的简单使用(含源码+注释)

文章目录 一、QTableView操作示例图二、QTableView&#xff08;个人理解&#xff09;三、源码CMainWindow.hCMainWindow.cpp 四、拓展&#xff1a;代理的使用总结相关文章 一、QTableView操作示例图 下图为QTableView简单使用示例图&#xff0c;其中包含设置、获取、新建item等…

QTableView 基本使用

一、简介 表格视图控件 QTableView&#xff0c;需要和 QStandardItemModel 配套使用&#xff0c;这套框架是基于 MVC 设计模式设计的&#xff0c;M(Model) 是 QStandardItemModel 数据模型不能单独显示出来。V(view) 是指 QTableView 视图&#xff0c;要来显示数据模型&#x…

QTableView详细使用说明

QTableView详细使用说明 创建QTableView表格标题设置表格的标题获取表格的标题 数据操作插入数据删除数据 属性设置设置表格的对齐方式设置表格的宽高设置表格的线属性 自定义菜单eventFilter方法重载eventFilter()启用事件监听实现事件过滤函数 设置菜单属性方法设置属性关联信…

web前端新手面试指南:自我介绍

面试时注意&#xff1a;自我介绍不能太长&#xff0c;也不能过短&#xff0c;3分钟左右最合适&#xff0c;尤其做为web前端技术方面的面试&#xff0c;更加要说到点上&#xff0c;我依次从学习方面、项目实践、未来规划这三个方面写下web前端面试的自我介绍。 您好&#xff0c;…

Web前端面试自我介绍对话技巧注意事项

大家在学会了web前端技术后&#xff0c;当然是要准备找一个适合自己的web前端工作了&#xff0c;那么面试环节是必不可少的&#xff0c;有一个良好的自我介绍表述&#xff0c;在HR心中也能加分不少&#xff0c;接下来小编就为大家介绍一下Web前端面试自我介绍对话技巧注意事项。…

前端面试自我介绍的技巧都有哪些?

前端面试自我介绍的技巧都有哪些? 在前端面试自我介绍的时候&#xff0c;可能会遇到两种情况&#xff1a;允许主动和不允许主动&#xff01; 允许主动的情况下&#xff0c;前端程序员应该详细的介绍自己技能树&#xff0c;结合工作经历&#xff0c;展示给面试官自己对项目和…

JVM coredump

JVM crash分析 Java程序运行的时候&#xff0c;遇到了coredump的现象。最后定位到时JIT导致的bug。 http://www.oracle.com/technetwork/java/javase/crashes-137240.html#gbyzu 这里记录下JVMcrash产生的文件怎么去定位问题&#xff0c;但是一般不会遇到crash&#xff0c;h…

coredump 使用总结

1. core dump简介&#xff1a; A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). In practice, other key pieces of program state are usually dumped…

【linux】coredump问题排查

序言 记录coredump问题的一些定位技巧 1. coredump简介 coredump称为核心转储&#xff0c;就是在进程异常时的一个快照&#xff0c;保存了异常时的内存、寄存器、堆栈等数据当进程接收到某些 信号 而导致异常退出时&#xff0c;就会生成 coredump 文件core文件是ELF文件格式…

Core Dump核心转储

核心转储&#xff08;core dump&#xff09;&#xff0c;在汉语中有时戏称为吐核&#xff0c;是操作系统在进程收到某些信号而终止运行时&#xff0c;将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。 概述 编辑 在UNIX系统中…

coredump文件的生成以及如何调试coredump文件?

生成coredump文件的相关配置 1. 首先通过 ulimit -a 命令&#xff0c;查看是否允许coredump文件生成; 如下图所示&#xff0c;core文件大小限制为0&#xff0c;即&#xff1a;不允许core文件生成 2. 使用 ulimit -c [kbytes] 命令更改core文件大小的限制 或者 通过 ulimit -c…

android生成coredump,详解coredump--全面

From: http://blog.csdn.net/tenfyguo/article/details/8159176 一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条…

coredump文件是如何生成的

目录 一、coredump 文件生成过程 二、coredump文件生成原理 1. 信号处理 do_signal() 2. 生成 coredump 文件 三、生产环境应该打开 coredump 功能吗&#xff1f; 人都会犯错&#xff0c;所以在编写程序时难免会出现 BUG。 有些 BUG 是业务逻辑上的错误导致的&#xff0c…