Qt tableView小结

Qt QTableView 详细总结

QTableView常用于实现数据的表格显示。

添加表头

//数据定义
QStandardItemModel  *itemModel = new QStandardItemModel ;
QTableView * tableView = new QTableView;
//数据模型 
itemModel ->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("xxx")));
itemModel ->setHorizontalHeaderItem(1, new QStandardItem(QObject::tr("xxx")));
itemModel ->setHorizontalHeaderItem(2, new QStandardItem(QObject::tr("xxx")));
//利用setModel()方法将数据模型与QTableView绑定
ui->tableView ->setModel(itemMode)l

设置表格属性

    //设置列宽不可变动,即不能通过鼠标拖动增加列宽        
    ui->tableView ->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed);  
    //用户可设置,也可被程序设置成默认大小 
    ui->tableView ->horizontalHeader()->setResizeMode(1, QHeaderView::Interactive); 
    //根据空间,自动改变列宽,用户与程序不能改变列宽  
    ui->tableView ->horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);   
    //根据内容改变列宽,用户与程序不能改变列宽
    ui->tableView ->horizontalHeader()->setResizeMode(3, QHeaderView::ResizeToContents);   

设置行列属性

    //设置某一列的列宽
    void QTableView::​setColumnWidth(int column, int width);
    //设置列宽最大值
    void setMaximumSectionSize(int size);
    //设置列宽最小值
    void  setMinimumSectionSize(int size);
    //默认显示行头,可以将隐藏        
    ui->tableView ->verticalHeader()->hide();   
    //隐藏行序号
	ui->tableView->verticalHeader()->hide(); 
    //设置选中时为整行选中        
    ui->tableView ->setSelectionBehavior(QAbstractItemView::SelectRows);    
    
    //获取选中单元格的属性
	ui->tableView->currentIndex();					//获取选中单元格的index  
	ui->tableView->currentIndex().column();			//当前选中单元格的列号  
	ui->tableView->currentIndex().row();			//当前选中单元格行号  
	ui->tableView->currentIndex().data();			//当前选中单元格内的数据
	//设置自动排列
	ui->tableView->setSortingEnabled(true);
	删除行:
	//x是指定删除哪一行
	itemModel ->removeRow(x);
	//删除所有行
	itemModel ->removeRows(0,model->rowCount());
	//设置隔行变色
    tableView->setAlternatingRowColors(true);

表格编辑

//表格禁止编辑
tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
//任何时候都可以编辑
tableView->setEditTriggers(QAbstractItemView::CurrentChanged );
//双击单元格
tableView->setEditTriggers(QAbstractItemView::DoubleClicked );
//单击已选中的内容
tableView->setEditTriggers(QAbstractItemView::SelectedClicked );
//按下编辑
tableView->setEditTriggers(QAbstractItemView::EditKeyPressed );
//按下任意键修改
tableView->setEditTriggers(QAbstractItemView::AnyKeyPressed );
//以上条件全包括
tableView->setEditTriggers(QAbstractItemView::AllEditTriggers );

表格选择

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

单个选中和多个选中

//单个选中 
tableView->setSelectionMode(QAbstractItemView::SingleSelection);
//多个选中 
tableView->setSelectionMode(QAbstractItemView::ExtendedSelection);
//不能选择
tableView->setSelectionMode(QAbstractItemView::NoSelection );
//多个选中
tableView->setSelectionMode(QAbstractItemView::MultiSelection );

表格属性

//表头信息显示居左 
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); .
//表头信息显示居右
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignRight); 
表头信息显示水平居中
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter ); 
表头信息显示可用空间文本对齐
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignJustify ); 
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值