如何在一个 QTableView 中显示多个 QSqlTableModel 的内容?
Posted
技术标签:
【中文标题】如何在一个 QTableView 中显示多个 QSqlTableModel 的内容?【英文标题】:How to display content of multiple QSqlTableModels in one QTableView? 【发布时间】:2013-06-13 22:11:06 【问题描述】:我有一个mysql表,我们称之为x:
CREATE TABLE x (
Id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
A int unsigned NOT NULL,
B int,
FOREIGN KEY (A) REFERENCES y(Id)
);
然后我还有另一张桌子,我们称之为y:
CREATE TABLE y (
Id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
First varchar(255),
Last varchar(255)
);
我想在一个 QTableView 中显示表 x 并代替表 x 中的列 A 我想要从 Id 等于 Ay 中的列 First 和 Last /em> 来自表 x。
你有什么想法吗?如果我的解释不够清楚,请告诉我。
【问题讨论】:
【参考方案1】:您可以将QSqlQueryModel
与 sql 连接查询一起使用:
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT x.Id, y.First, y.Last, x.B FROM x "
"LEFT JOIN y ON x.A = y.Id");
QTableView *view = new QTableView;
view->setModel(model);
view->show();
【讨论】:
以上是关于如何在一个 QTableView 中显示多个 QSqlTableModel 的内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 QTableView 中将 QColor 作为 QBackgroundRole 返回,它在 PyQt5 中具有预设样式表?