【问题标题】:How to get list of headers of a QTableView?如何获取 QTableView 的标题列表?
【发布时间】:2014-04-08 18:01:17
【问题描述】:

我的对话框中有一个QTableView 对象。

我需要访问该表的水平标题并将它们放入QStringList 对象中。

尽管进行了大量搜索,但我在 Qt 文档中找不到如何获取此标头列表。

编辑:我在任何地方找到的最接近的是this,但它正在处理QTableWidget,并且使用的函数不适用于QTableView。不幸的是,我无权将相关对象切换为表格小部件。

【问题讨论】:

    标签: c++ qt qtableview


    【解决方案1】:

    所以,我能想出这样做的唯一方法是:

    QStringList headers;
    for(int i = 0; i < myTableView->model()->columnCount(); i++)
    {
      headers.append(myTableView->model()->headerData(i, Qt::Horizontal).toString());
    }
    

    老实说,这似乎仍然比它应该的要复杂得多,但至少它有效。

    【讨论】:

    • 我认为“比它应该的要复杂得多”是 Qt 的 ItemView 类的官方座右铭;)
    • @JeremyFriesner 哈哈我也有同样的感觉,ListView 还不错,但是 TableView 太痛苦了,和 TreeView 相比,这算不了什么
    【解决方案2】:

    你可以稍微简化一下,像这样。这是python的变种

    items = []
    for x in range(tbl.columnCount()):
        items.append(tbl.horizontalHeaderItem(x).text())
    

    【讨论】:

      猜你喜欢
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2019-06-03
      • 2021-10-01
      • 2021-08-26
      相关资源
      最近更新 更多