【问题标题】:How can I write the text of QHeaderView's section into a file?如何将 QHeaderView 部分的文本写入文件?
【发布时间】:2013-09-17 09:55:07
【问题描述】:

我正在尝试编写一个导出器,它接收 QTableView 并将其所有数据写入 .csv 文件,以便可以在 MS Excel 中查看。

现在我似乎找不到从水平标题部分读取文本的方法。似乎没有像QHeaderView::sections 或类似的方法,所以我无法访问 QHeaderView 的部分。不过有一个QHeaderView::count,这让我觉得它们确实保存在某个容器中。

那么有没有办法获取QHeaderView的一段文字呢?

【问题讨论】:

    标签: qt qabstractitemmodel qheaderview


    【解决方案1】:

    您应该使用模型的::headerData 方法。 要获取列数,您可以使用view->model()->columnCount(); 方法。

    【讨论】:

    • 我担心它会归结为那个。我只是希望,会有一个更方便的解决方案。
    • 你应该了解 Qt MVC 模式。您无法从视图中选择数据。 View 对数据一无所知。
    • 是的,当然,这是有道理的。但是为什么我可以计算这些部分呢?这不是违反模式吗?
    • 不,它没有。你应该为此打电话给model->columnCount( QModelIndex() );。在理想情况下,您应该设计代码以保持所有数据独立于视图。
    • 我可能不应该从视图中获取计数,但如果我愿意,我可以,我觉得这很奇怪。不管怎样,我听从了你的建议,现在可以了。我还意识到将数据与视图分开的好处。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2016-10-14
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多