首页 > 其他分享 >Qt QTableWidget 设置列宽行高大小的几种方式及其他常用属性设置

Qt QTableWidget 设置列宽行高大小的几种方式及其他常用属性设置

时间:2024-03-18 13:24:06浏览次数:24  
标签:QHeaderView Qt 列宽行 SectionResizeMode setColumnWidth verticalHeader tableWidget 

效果:

1.列宽、行高自动分配

1 //列宽自动分配
2 tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch)
3 //行高自动分配
4 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)

2.固定值

tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Fixed)

3.随内容分配列宽 随内容分配行高

1 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
2 tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
3  
4 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
5 tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)

4.水平方向标签拓展剩下的窗口部分,填满表格

tableWidget.horizontalHeader().setStretchLastSection(true)

5.列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的

1 tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch)
2 tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::Interactive)

6.手动 自定义列宽

1     tableWidget->setColumnWidth(0, 200);
2     tableWidget->setColumnWidth(1, 200);
3     tableWidget->setColumnWidth(2, 150);
4     tableWidget->setColumnWidth(3, 120);
5     tableWidget->setColumnWidth(4, 150);

7. 其实也可以设置宽度比例

1     int width = m_Controls.tableWidget->width();
2     m_Controls.tableWidget->setColumnWidth(0, width/5);
3     m_Controls.tableWidget->setColumnWidth(1, width/5*2);
4     m_Controls.tableWidget->setColumnWidth(2, width/5 );
5     m_Controls.tableWidget->setColumnWidth(3, width/5);

9.隐藏 默认显示行头

tableWidget->verticalHeader()->setVisible(false)

10.设置选中时为整行选中       

tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 

12. 显示QTableWidget组件中的线

tableWidget->setShowGrid(true);

13.去除选中虚线框

tableWidget->setFocusPolicy(Qt::NoFocus); 

14.设置非单元滚动

1 tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
2  
3 tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);

15.隔行交替背景色

tableWidget->setAlternatingRowColors(true)

16.QTableWidget类中的常用方法

17.编辑规则的枚举值类型

18.表格选择行为的枚举值

19.单元格文本水平对齐方式

20. 单元格文本垂直对齐方式

如果要设置水平和垂直方向对齐方式,比如在表格空间内上下,左右居中对齐,那么只要使用Qt,AlignHCenter和Qt,AlignVCenter即可

注意:

如数据也需要设置列数,否则可能不显示;

tableWidget->setColumnCount(10);

 

标签:QHeaderView,Qt,列宽行,SectionResizeMode,setColumnWidth,verticalHeader,tableWidget,
From: https://www.cnblogs.com/ybqjymy/p/18080167

相关文章

  • Qt QLable 字符过长省略
    前言:项目中常用到字符过长问题,Qt默认的省略并不好用,不是自己想要的;QFontMetri可使用QFontMetri当text的像素宽度超过width,将返回字符串的一个省略版本取决于mode。否则将返回原字符串;mode:1enumTextElideMode{2ElideLeft,3ElideRight,4......
  • QT5.14.2 探秘Qt信号槽奥秘--让对象间通信如虎添翼
    一、前言在当今这个万物互联的时代,对象间通信无疑是编程领域中最为基础也最为重要的问题。作为知名的跨平台开发框架,Qt自然也需要解决这一问题。于是,Qt巧妙地提出了信号与槽(Signals&Slots)这一机制,以观察者模式的思路让对象间通信变得行云流水。那么,Qt信号与槽的本质......
  • SQLite默认区分大小写,如何设置不区分大小写(22)
    在SQLite中,对大小写是敏感的,默认区分大小写https://www.cnblogs.com/chenlong-50954265/p/4980985.html假设表Test的结构和值如下: _id name1ABCDE2abcde3ABCde4abCDE5aaaaa6bbbbb 执行下面的SQL语句:select*fromtestwherename='......
  • Qt QTableView、QTableWidget设置表头
    以下是两个设置表头的不同方法:QTableWidget:1//设置表头2QStringListheardList;//表头3heardList<<QString::fromLocal8Bit("接收")<<QString::fromLocal8Bit("发送");4ui.tableWidget>setColumnCount(heardList.count());5ui.tabl......
  • Qt QTableView和QTableWidget之间的联系 和 区别?什么时候该用QTableView,什么时候该用Q
    QTableView和QTableWidget是Qt中用于显示和编辑表格数据的两个不同的部件,它们之间存在一些重要的区别:一、主要区别是:QTableView可以使用自定义的数据模型来显示内容(也就意味着使用时先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型。二、不同角度......
  • C++ Qt开发:QTcpSocket网络通信组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QTcpSocket组件实现基于TCP的网络通信功能。QTcpSocket和QTcpServer是Qt中用于实现基于T......
  • el-table的多选框设置某行样式以及是否可选
    目录el-table多选框某些条件下不可被选择el-table多选框根据某些条件改变不同样式除了针对多选的单元格的操作外,还可以针对某整行进行样式更改现有代码:<el-table:data="tableDataList"......><el-table-columntype="selection"....../>这里的tableDataList内含......
  • Ubuntu22.04设置开机启动
    Ubuntu22.04设置开机启动_ubuntu22.04开机启动-CSDN博客 修改rc-local.servicevim/lib/systemd/system/rc-local.service1添加[Install]WantedBy=multi-user.targetAlias=rc-local.service123sudochmod777/lib/systemd/system/rc-local.service12.新建rc.local脚本sud......
  • Qt/C++监控推流设备推流/延迟极低/实时性极高/rtsp/rtmp推流/hls/flv/webrtc拉流/调整
    一、前言算下来这个推流的项目作品写了有四年多了,最初第一个版本只有文件点播的功能,用的纯QTcpSocket通信实现,属于比较简单的功能。由于文件点播只支持文件形式的推流,不支持网络流或者本地设备采集,所以迫切需要打破这个瓶颈,而后加入核心的网络推流功能,这也是本项目的核心功能,不仅......
  • Word设置样式快捷键(转载)
    1.问题每次都要手动选择,有些隔着几个格子比较麻烦,设置快捷键进行管理2.解决参考:Word样式也有“快捷键”,你却不知道!(1)单击【开始】-【样式】组,在需要设置快捷键的样式上单击鼠标右键,在弹出的快捷菜单中选择“修改”命令。(2)打开“修改样式”对话框,单击“格式”按钮,在弹出的......