怎么用Qt的TableView来显示数据,数据有些来自MySQL的表中(多张不同的表),并且有些数据并不是从MySQL取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用Qt的TableView来显示数据,数据有些来自MySQL的表中(多张不同的表),并且有些数据并不是从MySQL取相关的知识,希望对你有一定的参考价值。

我需要做一个程序用Qt的TableView来显示数据,数据有些来自MySQL的表中(多张不同的表),并且有些数据并不是从MySQL取的,而是通过程序计算得到,我在网上可以查到的资料Qt的table都是针对单表操作的,如果有具体的例子的话更加的好

参考技术A 可以采用Stacked Layouts分页布局,具体实现代码如下,望采纳:

//创建QWidget类的一个对象pWidget

QWidget *pWidget = new QWidget;

//创建一个布局管理器类 layout

QHBoxLayout *manLayout = new QHBoxLayout;

//左边的列表控件

QListWidget *listWidget = new QListWidget(pWidget);

listWidget->addItem(QObject::tr("外观设置"));

listWidget->addItem(QObject::tr("网页浏览"));

...

//右边的分页控件

QWidget *page1 = new QWidget(pWidget);

<…page1上增加控件>

QWidget *page2 = new QWidget(pWidget);

<…page2上增加控件>

<设置布局管理>

QVBoxLayout *leftLayout = new QVBoxLayout;

leftLayout->addWidget(listWidget);

....

//右边分页布局(两页窗口)

QStackedLayout *stackedLayout = new QStackedLayout;

stackedLayout->addWidget(page1);

stackedLayout->addWidget(page2);

//通过调用QWidget::setLayout()函数,将layout布局管理器类添加到窗口部件对象pWidget中

manLayout->addLayout(leftLayout);

manLayout->addLayout(stackedLayout);

pWidget->setLayout(manLayout);

listWidget->setCurrentRow(0);

//关联:列表与分组布局

QObject::connect(listWidget, SIGNAL(currentRowChanged(int)),

stackedLayout, SLOT(setCurrentIndex(int)));

pWidget->show();追问

这个方法不就是把内容一个一个加上去么?除了这个以外还有其他的方法么,Qt没有类似C#的表格操作方法么?

追答

据我所知qt对于表格的操作,就只有这几种方法了
一、使用ActiveQt模块读取
二、先用其它工具将.xls文件转换成XML格式的文件,然后读取
三、使用其它第三方开发包读取。

本回答被提问者采纳

请问在QT4中我用QTableView 和QSqlTableModel操作数据库,我想改变tableview某行的背景色应该怎么做?

能给出代码最好或者给个例子,发到邮箱zlyrtn@126.com。谢谢了!

参考技术A 重载QSqlTableModel::data(const QModelIndex &index, int role) const函数;
QSqlTableModel::data(const QModelIndex &index, int role) const

if(role == Qt::BackgroundRole)
return QVariant(QColor(Qt::yellow));

以上是关于怎么用Qt的TableView来显示数据,数据有些来自MySQL的表中(多张不同的表),并且有些数据并不是从MySQL取的主要内容,如果未能解决你的问题,请参考以下文章

QT如何实现QSqltablemodel实时更新数据库,并在tableview中实时显示,

QT中table view怎么显示sqlite数据库的内容?

Qt5 - 在 QML TableView 中显示动态数据模型

求问QT creator的table view一些问题……

如何在Qt 的tableview中根据某一单元格的数据来设置该行的字体颜色或背景色。

如何从qt模型中获取所有数据