gpt4 book ai didi

c++ - 如何按字段名索引 QTableWidget?

转载 作者:行者123 更新时间:2023-11-28 07:23:06 25 4
gpt4 key购买 nike

我正在修复其他人的 Qt 代码,这涉及到向 QTableWidget 添加一些额外的列。当前代码通过整数索引对列进行索引。我想更改此代码,以便它按 header 名称进行索引。目前的代码看起来有点像这样:

// column 1 => Semantics
// column 2 => algorithm
// colunm 3 => ...
// ...

tableWidget->setItemDelegateForColumn(0, semanticsDelegate);
tableWidget->setItemDelegateForColumn(1, algorithmsDelegate);
tableWidget->setItemDelegateForColumn(2, specDelegate);

我想把它改成这样:

tableWidget->setItemDelegateForColumn(foo("Semantics"), semanticsDelegate);
tableWidget->setItemDelegateForColumn(foo("Algorithm"), algorithmsDelegate);
tableWidget->setItemDelegateForColumn(foo("..."), specDelegate);

这在 Qt 中可能吗? (QTableWidget 列的标题为“语义”、“算法”等)或者我必须制作一个表字段枚举来处理这个问题吗?

最佳答案

项目委托(delegate)由 int 索引所以,如果你想以这种方式进行,你必须提供一个函数来将列标题映射到一个唯一的整数。如何实现foo()功能由您决定 - 枚举和 QList< QPair<QString,enum_item> >应该对你有好处 - 。如果您的应用程序将被翻译,请不要忘记使用 Qt's i18n facilities

关于c++ - 如何按字段名索引 QTableWidget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152720/

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