Qt QTableWidget的用法


Qt QTableWidget的用法

所需头文件

#include <QTableWidget>
#include <QTableWidgetItem>
#include <QheaderView>

新建表格

QTableWidget *m_pViewerTable = new QTableWidget(m_row,m_column);

设置行数

m_pViewerTable->setRowCount(m_row);

设置列数

m_pViewerTable->setColumnCount(m_column);

设置表格行表头

QStringList headerLabels;
headerLabels<<"Step"<<"Range 0";    // 如上图所示
m_pViewerTable->setHorizontalHeaderLabels(headerLabels);

设置表格行标题的对齐方式

m_pViewerTable->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);

设置列表头

QStringList rowLabels;
rowLabels<<"row 1"<<"row 2"<<"row 3"<<"row 4";
m_pViewerTable->setVerticalHeaderLabels(rowLabels);

隐藏行表头

m_pViewerTable->horizontalHeader()->setVisible(false);

影藏列表头

m_pViewerTable->verticalHeader()->setVisible(false);

设置行高度

m_pViewerTable->setRowHeight(0, 122);

设置列高度

m_pViewerTable->setColumnWidth(0,135);

将行和列的大小设为与内容相配

m_pViewerTable->resizeColumnsToContents();  
m_pViewerTable->resizeRowsToContents();  

自动调整最后一列的宽度使它和表格的右边界对齐

m_pViewerTable->horizontalHeader()->setStretchLastSection(true);

设置表格选择方式

// 选中单个单元格
m_pViewerTable->setSelectionBehavior(QAbstractItemView::SelectItems); 
// 选中一行
m_pViewerTable->setSelectionBehavior(QAbstractItemView::SelectRows); 
// 选中一列
m_pViewerTable->setSelectionBehavior(QAbstractItemView::SelectColumns);

单个/多个选中设置

// 不能选择
m_pViewerTable->setSelectionMode(QAbstractItemView::NoSelection);  
// 选中单个目标
m_pViewerTable->setSelectionMode(QAbstractItemView::SingleSelection);
// 选中多个目标
m_pViewerTable->setSelectionMode(QAbstractItemView::MultiSelection);
// 正常情况下是单选,按下Ctrl键后,可以多选
m_pViewerTable->setSelectionMode(QAbstractItemView::ExtendedSelection);
// 正常情况下是单选,按下Shift键后,可以多选
m_pViewerTable->setSelectionMode(QAbstractItemView::ContiguousSelection);

设置表格编辑方式

//不能对表格内容进行修改
m_pViewerTable->setEditTriggers(QAbstractItemView::NoEditTriggers); 
//任何时候都能对单元格修改
m_pViewerTable->setEditTriggers(QAbstractItemView::CurrentChanged); 
//双击单元格
m_pViewerTable->setEditTriggers(QAbstractItemView::DoubleClicked); 
//单击已选中的内容
m_pViewerTable->setEditTriggers(QAbstractItemView::SelectedClicked); 
//按下Edit键修改
m_pViewerTable->setEditTriggers(QAbstractItemView::EditKeyPressed);
//按下任意键就能修改
m_pViewerTable->setEditTriggers(QAbstractItemView::AnyKeyPressed); 
//以上条件全包括
m_pViewerTable->setEditTriggers(QAbstractItemView::AllEditTriggers);

设置单元格内容/对齐方式

// 设置单元格内容
void QTableWidget::setItem(int row, int column, QTableWidgetItem * item)
//居中对齐
item0->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); 

设置单元格字体颜色和背景颜色及字体字符

QTableWidgetItem *item = new QTableWidgetItem("Apple");  
item->setBackgroundColor(QColor(0,60,10));  
item->setTextColor(QColor(200,111,100));  
item->setFont(QFont("Helvetica"));  
m_pViewerTable->setItem(0,3,item);  

合并单元格

m_pViewerTable->setSpan(0, 0, 3, 1);
void QTableView::setSpan(int row, int column, int rowSpanCount, int columnSpanCount);

其他

//清除已有的行列
for(int i = m_pViewerTable->rowCount();i > 0;i--)
{
    m_pViewerTable->removeRow(0);
}
//显示表格线
m_pViewerTable->setShowGrid(true);
//去掉水平滚动条
m_pViewerTable->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//垂直滚动条按项移动
m_pViewerTable->setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
//去掉自动滚动
m_pViewerTable->setAutoScroll(false);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值