首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt --如何设置从64开始的QTableWidget行索引,而不是从0开始?

Qt --如何设置从64开始的QTableWidget行索引,而不是从0开始?
EN

Stack Overflow用户
提问于 2012-10-23 07:35:57
回答 1查看 6K关注 0票数 1

我有128个项目的结构向量。我应该将前64项放到第一个QTableWidget中,其余的64个项放到第二个QTableWidget中。必须显示“索引”数字,因为它们在结构向量中。这些是身份证号码。我使用ui设计器设计了我的UI,我试图在那里更改QTableWidget第一行号,但是它没有工作。如何初始化第一个从0开始索引的tablewidget和从64开始的第二个tablewidget。请帮帮伙计们..。提前谢谢。

请帮我解决这个问题。

我会用快照图像来解释清楚。好了!这里我有2 QTableWidgets。每个表小部件都以一个行id作为1开始。第二个Widget的行id不应该与1相同,而不是那个,它必须是65。(由于我有128项,前64项应放在第一个表中,其余64项应放在第二表中)。希望你们都能理解我的要求。请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-24 16:46:39

如果问题是关于垂直标题标签,那么在QTableWidget中更改它们的最简单的方法是使用QTableWidget::setVerticalHeaderLabels()

代码语言:javascript
运行
复制
#include <QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QAbstractItemModel>

#define COL_NUM 2
#define ROW_NUM 5

int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    QTableWidget table(ROW_NUM, COL_NUM);
    QAbstractItemModel *model = table.model();
    QStringList labels;
    for (int i = 0; i < ROW_NUM; ++i) {
        /* Fill the row */
        for (int j = 0; j < COL_NUM; ++j) {
            QTableWidgetItem *item =
                new QTableWidgetItem(QString("item %1     %2").arg(i).arg(j));
            table.setItem(i, j, item);
        }
        /* Get row's vertical header label */
        QVariant data = model->headerData(i, Qt::Vertical);
        labels << QString("%1").arg(data.toInt() + 64);
        /* Apparently, two lines above can be replaced with one below */
        // labels << QString("%1").arg(65 + i);
    }
    /* Update vertical header labels */
    table.setVerticalHeaderLabels(labels);
    table.show();

    return app.exec();
}

QTableWidget有更简单的API,但在特性上是有限的。例如,QAbstractItemModel::setHeaderData()没有操作,也没有在QTableModel中重新实现.另一种方法是使用QTableViewQAbstractItemView来保存数据。正如您所说的,您已经在某种结构中分别拥有数据,因此您可以对您的结构和QAbstractItemView进行子类,以生成将由QTableView显示的自定义模型。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13025579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档