QTableWidget 插入一条数据
QTableWidget是QT程序中常用的显示数据表格的空间。
QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容,先通过setModel来绑定数据源。
QTableWidget则只能使用标准的数据模型,使用QTableWidgetItem默认构造函数实现单元格内容。
this->setWindowTitle("Ruku");
ui->tableWidget->clear();
QString PaperName,KeyWord,PaperBrief;
PaperName=ui->lineEditPaperName->text().trimmed();
KeyWord=ui->lineEditKeyWord->text().trimmed();
PaperBrief=ui->lineEditPaperBrief->text().trimmed();
PaperName = "1";
KeyWord = "2";
PaperBrief ="333";
ui->tableWidget->setColumnCount(3);//只设置列数,行数动态中增加
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<QString::fromUtf8("篇名")
<<QString::fromUtf8("关键字")<<QString::fromUtf8("简介"));
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);//整行选中的方式
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//禁止修改
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);//可以选中单个
int RowCont;
RowCont=ui->tableWidget->rowCount();
ui->tableWidget->insertRow(RowCont);//增加一行
//插入元素
ui->tableWidget->setItem(RowCont,0,new QTableWidgetItem(PaperName));
ui->tableWidget->setItem(RowCont,1,new QTableWidgetItem(KeyWord));
ui->tableWidget->setItem(RowCont,2,new QTableWidgetItem(PaperBrief));
//插入元素
QTableWidgetItem* item = new QTableWidgetItem(PaperName);//tableWidget内容本质是QTableWidgetItem
item->setFlags(0);
item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);//设置tableWidget内容居中显示
tableWidget->setItem(RowCont, 0, item);
原文链接:https://blog.csdn.net/NcepuKZH/article/details/111063187
QTableWidget内容居中显示
//建一个QTableWidget控件
QTableWidget * table = new QTableWidget(tableWdt);
//设置该表格的大小,按自己的需要去设定,也可以不设定
table->resize(724, 345);
//设置列数
table->setColumnCount(11);
//设置水平表头信息
table->setHorizontalHeaderLabels(QStringList() << "Master"
<< "Slot.1" << "Slot.2" << "Slot.3" << "Slot.4" << "Slot.5"
<< "Slot.6" << "Slot.7" << "Slot.8" << "Slot.9" << "Slot.10");
//设置行数
table->setRowCount(9);
//设置垂直表头信息
table->setVerticalHeaderLabels(QStringList() << "Dll_date"
<< "Dll_version" << "Dll_chip" << "DSP_date" << "DSP_version"
<< "DSP_chip" << "FPGA_date" << "FPGA_version" << "FPGA_chip");
//让tableWidget内容中的每个元素居中
table->setSelectionBehavior(QAbstractItemView::SelectRows);//设置整行选中
//这是我自己调用动态库获得信息,至于怎么调用的可以看看别人的优秀文章
TVersion date;
short nType = 0;
API_GetEquipmentVersion(nType, &date);
//下面是调用的信息我让他显示的格式
table->setItem(0, 0, new QTableWidgetItem(QString
("%1-%2-%3").arg(date.year).arg(date.month).arg(date.day)));
//用一个for嵌套循环遍历每一个表格让其元素居中
//下面是我只调用了一个日期信息让其显示在一个表格子里而已
for (int i = 0; i<1; i++)
{
for (int j = 0; j<1; j++)
{
table->item (i,j)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
}
}
//如果数据占用的表格不多的话,用下面这个好点
//table->item(0, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
最终的一个演示出来的效果
好了,就到这里,下次其他的我再继续更新吧,下面我附上一个类似的文章,写的也可以,有些我没有用到的分享出来你们也可以借鉴一下。
Qt中让tableWidget内容中的每个元素居中(qtablewidget的一些使用) - ww学习笔记 - 博客园
原文链接:https://blog.csdn.net/weixin_41984868/article/details/123485324