gpt4 book ai didi

c++ - 在 View 中用 ID 替换字符串的简单方法

转载 作者:行者123 更新时间:2023-11-28 04:55:13 25 4
gpt4 key购买 nike

我将服务名称存储在 services 表之外。所以 services 表包含我在 tableView 中需要的所有内容,除了我想在 View 中显示存储在 service_types 中的服务名称。
据我所知,即使是最简单的连接,也无法使 QSqlTableModel 工作。

我知道我应该继承QAbstractTableModel,但我不知道如何在那里实现任何东西。 Qt Creator 中的向导为我制作了一个 .h/.cpp 对,但我无法在互联网上找到任何示例来了解我应该实现什么。

所以,我想问一下是否有任何聪明的方法可以预先将所有服务类型字符串(只有 200 个)放入 QMap 中,然后让 tableView 显示它们而不是 ID。

最佳答案

正如我在评论中所说,您可以将您的 QSqlTableModel 模型子类化,并在 data() 函数中将原始数据替换为您从另一个表中查询的数据。例如:

QVariant MyTableModel::data(const QModelIndex &index, int role) const
{
if (index.column() == 0 /*first column*/ && role == Qt::DisplayRole)
{
// Query data from another table (service_types) and as you get the right
// type for the given row, return it.
return type_I_got_from_service_type_table;
}
return QSqlTableModel::data(index, role);
}

关于c++ - 在 View 中用 ID 替换字符串的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47285653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com