Qt Qtableview 的一些用法
Qt Qtableview 的一些用法
SLOT(Function(const QModelIndex &)));//点击tableview中的item触发信号
QStandardItemModel model;
//设置大小
model.setColumnCount(3); //列
model.setRowCount(musicFound); //行
//设置标题
model.setHeaderData(0,Qt::Horizontal,"ID");
//添加数据
for(int j=0;j<row;j++)
{
//写id
QStandardItem *itemID = new QStandardItem("hello");//QString::number(j)));
model.setItem(j,0,itemID);
}
//选择这个model
m_ui->tableView->setModel(&model);
//隐藏左边那列
m_ui->tableView->verticalHeader()->hide();
//列宽
m_ui->tableView->setColumnWidth(0,30);
//整行选择
m_ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
三 动态添加行
在表格中添加行时,我们只需要在model中插入数据即可,一旦model中的数据发生变化,QTabelView显示就会做相应的变动
//在第一行添加学生张三的个人信息(setItem函数的第一个参数表示行号,第二个表示列号,第三个为要显示的数据)
student_model->setItem(0, 0, new QStandardItem(“张三"));
student_model->setItem(0, 1, new QStandardItem("20120202"));
student_model->setItem(0, 2, new QStandardItem("男"));
student_model->setItem(0, 3, new QStandardItem("18"));
student_model->setItem(0, 4, new QStandardItem("土木学院"));
四 设置列名
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030"));//编码设置为GB18030
setValueModel->setHorizontalHeaderLabels(QStringList() <<tr("名称")<<tr("单位")<<tr("取值范围")<<tr("定值"));
setValueTableView->setModel(setValueModel);//!!&#x