目录
九、QTableWidget怎么按照某列的大小来排序(有两种方法)
前言:
QTableWidget 表格单元格的行标和列标都是从 0 开始;QTableWidget 表格中,每个单元格都是 QTableWidgetItem 类的实例对象
一、 创建行表头
QStringList cHeader;
cHeader << "编号" << "名字" << "日期" ;
m_tableWidget->setHorizontalHeaderLabels(cHeader);
创建之后,运行发现显示不出来表头!查找原因发现要设置了行数和列数才行:
方法1 构造的时候就创建了行数
m_tableWidget = new QTableWidget(10,10,this);
方法2
m_tableWidget->setRowCount(10);
m_tableWidget->setColumnCount(3);
二、往表格里插入单元项(带图片和不带图片)
//..1
QTableWidgetItem *item=new QTableWidgetItem();
item->setText(“示例”);
item->setBackgroundColor(QColor("#8EE5EE"));//背景颜色
item->setTextColor(QColor("#8EE5EE"));//字体颜色
item->setFont(QFont("Helvetica"));//字体样式
m_tableWidget->setItem(row,col,item);
//..2插入带图片的项目
m_tableWidget->setItem(row,col,new QTableWidgetItem(QIcon("images/found.png"), "查找"));
另:如果需要对所有的单元格都使用这种字体,则可以使用 tableWidget->setFont(QFont("Helvetica"));
三、 禁止表格可编辑
在默认情况下,表格里的字符是可以更改的。比如双击一个单元格,就可以修改原来的内容。
m_tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
| QAbstractItemView::NoEditTriggers | 不允许编辑 |
| QAbstractItemView::CurrentChanged | 只要当前项发生更改,编辑就会开始 |
| QAbstractItemView::DoubleClicked | 当项目(指表格里的单元项)被双击时,编辑开始 |
| QAbstractItemView::SelectedClicked | 当单击已选择的项目时,编辑开始 |
| QAbstractItemView::EditKeyPressed | 当在项目上按下Platform编辑键时,开始编辑。 |
| QAbstractItemView::AnyKeyPressed | 当在项目上按下任何键时,编辑开始。 |
| QAbstractItemView::AllEditTriggers | 开始编辑以上所有操作 |
四、 按行或列或单个选择单元项
m_tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
| QAbstractItemView::SelectItems | 选择单个项目. |
| QAbstractItemView::SelectRows | 行 |
| QAbstractItemView::SelectColumns | 列 |
五 、设置列宽(包括列表头的和行表头的)
这个对列表头的设置有用,记得加头文件
#include <QHeaderView>不然会报错
m_tableWidget->verticalHeader()->setMinimumWidth(42);
m_tableWidget->horizontalHeader()->setMinimumHeight(30);
1 这个普通的行和列都可以设置固定宽高
m_tableWidget->setColumnWidth(1,200);
m_tableWidget->setRowHeight(1,120);

本文详细介绍了QTableWidget的使用,包括创建行表头、插入带图片单元项、禁止编辑、设置列宽、选择单元格、添加右键菜单以及实现多级菜单等功能。同时讲解了如何按列排序,并提供了代码示例。
&spm=1001.2101.3001.5002&articleId=126056746&d=1&t=3&u=51e19448a3b74391b32db6f2eeb82112)
1万+

被折叠的 条评论
为什么被折叠?



