TableView的使用方法

1.Qtableview主要借助于QStandardItemModel类来使用**

QTableView *tableview;
QStandardItemModel *model = newQStandardItemModel();
tableview->setmodel(model);
设置表的column名称 :
model->setHeaderdata();
隐藏column名称:
tableview->horizontalHeader()->setVisible(false);
隐藏row名称:
tableview->verticalHeader()->setVisible(false);
若是想设置表格column的样式 :
tableview->->horizontalHeader()->setStyleSheet();
使用setColumnWidth()来设置Header的宽度;
QT还提供了对表格表头进行设置的model:
tableview->horizontalHeader()->setResizeMode();
tableview->verticalHeader()->setResizeMode();
Qt提供的 setResizeMode()有四种:
QHeaderView::Interactive;
QHeaderView::Fixed;
QHeaderView::Stretch;
QHeaderView::ResizeToContents
QStandardItemModel model;

//设置大小
model.setColumnCount(3); //列
model.setRowCount(musicFound); //行

//设置标题
model.setHeaderData(0,Qt::Horizontal,“ID”);

//隐藏左边那列
m_ui->tableView->verticalHeader()->hide();
//列宽
m_ui->tableView->setColumnWidth(0,30);
//整行选择
m_ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);

2.要得到当前选中的item,如下操作:

QModelIndex Index = tableview->currentIndex();得到当前的Index;
QStandardItem *item = listAll->itemFromIndex(index);//根据index 得到item
如果想让点击item 发送信号 则可以使用:
connect(tableview, SIGNAL(clicked ( const QModelIndex &)), this,
SLOT(Function(const QModelIndex &)));//点击tableview中的item触发信号

若要对item可以设置背景颜色 使用:setBackground()即可;

3.添加数据

QStandardItem *itemID = new QStandardItem(“hello”);//QString::number(j)));
model.setItem(j,0,itemID);

4.设置列名

QStringList xxx;
xxx<<tr(" 列名")
<<tr(" 列名")
<<tr(" 列名")
<<tr(" 列名")
。。。。。;

5.设置数据显示的样式

//设置单元格文本居中
student_model->item(0, 0)->setTextAlignment(Qt::AlignCenter);
//表头信息显示居左
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
//设置单元格文本颜色
student_model->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0)));
//将字体加粗
student_model->item(0, 0)->setFont( QFont( “Times”, 10, QFont::Black ) );
//设置排序方式,按降序显示
student_model->sort(3, Qt::DescendingOrder);
//设置列宽不可变
ui->tableView->horizontalHeader()->setResizeMode(0,QHeaderView::Fixed);

6.删除行

//x是指定删除哪一行
model->removeRow(x);
//删除所有行
model->removeRows(0,model->rowCount());

7.代理QComBox

8.插入图片

1.直接插入

2.使用代理

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值