QT中怎么把Tableview中一行的信息分别显示到Tableline上去?

供稿:hz-xin.com     日期:2025-01-18
QT中,我将一张数据库表显示在tableView上,我需要去设置或修改tableView上每一行的颜色,该怎么做?

  在QT的widget中用tableview显示sqlite数据库表中的内容。
  假设有数据库文件test.db,有表table(id integer, name nvarchar(20),age integer),且有数条数据。
  首先用QTcreator创建一个基于Widget类的窗口,再拖一个tableview到widget中,保存,然后按照如下方法进行:
  1.在widget.h中增添头文件:QtSql/qsql.h、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel
  2.在.pro工程文件中添加:QT+=sql
  3.在widget.cpp中widget的构造函数中添加如下代码:
  QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");
  db.setDatabaseName("test.db");
  if(!db.open())
  {
  //错误处理
  }
  static QSqlQueryModel *model = new QSqlQueryModel(ui->tableview);
  model->setQuery(QString("select * from table"));
  model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
  model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
  model->setHeaderData(2,Qt::Horizontal,QObject::tr("年龄"));
  ui->tableview->setModel(model);
  db->close();
  这样之后,table表里的内容就会显示到tableview中了。

看看Qt文档中的QSqlTableModel类 有列子的,可以直接显示到Tableview

// QTableView配合使用的是QStandIterModel,你可以从这个model里面取数据
QTableView *tableView = new QTableView();
QStandarItermModel *model = new QStandarItemModel();
// 绑定model
tableView->setModel(model);

// 填充数据
model->setData(model->index(row, col), QString("110"));
// 获取数据
model->data(model->index(row, col))->toInt();


qtableview的表头怎么改
下面我们如何按步骤实现学生信息表格:一 添加表头 \/\/准备数据模型 QStandardItemModel *student_model = new QStandardItemModel(); student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("Name"))); student_model->setHorizontalHeaderItem(1, new QStandardItem(QObject::...

如何创建一个Tab bar Application
选择新建一个Tab bar Application,并把工程名称命名为tTabApp。建好后的工程目录如下:删除上面的tcFirstViewController.h,tcFirstViewController.m,tcSecondeViewController.h,tcSecondViewController.m,tcFirstViewController.xib,tcSecondViewController.xib六个文件。在tTabApp上点击右键,加入FViewControll...

如何获取TableView表头的内容
参考代码:QueryDay = new QSqlQueryModel;QueryDay->setQuery("select * from t_data",QSqlDatabase::database(DB->connectionName()));tableView->setModel(QueryDay);···QString Stmp;for (i=0;i<tableView->model()->columnCount();i++) { Stmp= tableView->model()->headerDa...

如何在Swift中优雅地使用ReusableIdentifier
identifier = String(T.self)} } 然后为UITableView实现一个register方法,这个方法只需要传入一个类型即可:extension UITableView { func register<T: UITableViewCell>(_: T.Type) { registerClass(T.self, forCellReuseIdentifier: ReusableIdentifier<T>().identifier)} } 如此,注册的时候就非常简单...

Qml组件化编程8-Qml属性
回调函数在Qml中能够实现复杂数据传递,如在按钮调用FileDialog后,使用回调函数直接处理结果,避免了文件对话框占用过多资源。TDialog组件的实现展示了如何封装文件操作功能,支持多种文件选择模式,并提供了代码示例供参考。Qml模块扩展类型丰富多样,如QtQuick提供的各种组件类型以及QtQml模块提供的Qt类,提供...

新人求教 tableView怎么做折叠 就跟qq分组那样的
方法一的原理是用一个stateArray去记录每个section的状态,当然光记录还是不行的,还是不断的改变这个stateArray对应section的值,展开了就把值替换为1,闭合了替换了0.那么这个0和1就是我们的依据,依据这个就可以返回这个scetion对应的row了。- (UIView *)tableView:(UITableView *)tableView viewFor...

ios开发 group 样式的tableview 为什么设置了section不起效
-(void)drawTableView{ UITableView *tview = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.frame.size.height) style:UITableViewStyleGrouped];[tview setDelegate:self];[tview setDataSource:self];[self.view addSubview:tview];} - (CGFloat)tableView:(UI...

大秧歌里的玉梅的丫鬟是谁演的
f=ms&rf=idx&tn=baidump3&ct=134217728&lf=&rn=&word=%B5%A5%C8%CB%C2%C3%CD%BE&lm=-1 第一个就是了 缓冲很快 哈 iOS的tableView的headerView的自适应高度怎么做 自己根据内容计算HeaderView的高度, 然后在代理里面返回计算的最新高度 张娜的爸爸的女儿的妈妈是谁? 张娜爸爸的老婆 济...

怎么打开Xcode的Archives界面
点击DebugViewHierarchy按钮更进一步了解视图调试的功能。视图调试功能点击并拖拽三维渲染图的任意一边,可旋转或者倾斜用户界面,向左或者向右倾斜可选中某个表视图。选中后,Xcode会高亮该视图,并在会在右边展示Object和Size检查器。查看在跳转栏顶部并确认UITableView是右边最后一个项目。Object和Size检查器包括...

delphi cxgrid 获取合计行数值
procedure Tfrm1.TableViewDataControllerSummaryAfterSummary(ASender: TcxDataSummary);begin inherited;iSaleAmt:=TableView.GetColumnByFieldName('SaleAmt').Index;vSaleAmt:=ASender.FooterSummaryValues[iSaleAmt];...