• qt -tablewidget设置列可排序


    在 Qt 的 QTableWidget 中,默认情况下,列是不可排序的。但是你可以通过设置 QHeaderView 的 setSortIndicator() 函数来实现列的排序功能。

    下面是一个示例代码,演示了如何设置 QTableWidget 的列可排序:

    1. // 创建 QTableWidget 对象
    2. QTableWidget *tableWidget = new QTableWidget();
    3. // 设置表格的列数和行数
    4. tableWidget->setColumnCount(3);
    5. tableWidget->setRowCount(5);
    6. // 设定表头
    7. QStringList headerLabels;
    8. headerLabels << "Column 1" << "Column 2" << "Column 3";
    9. tableWidget->setHorizontalHeaderLabels(headerLabels);
    10. // 允许列排序
    11. tableWidget->setSortingEnabled(true);
    12. // 设置列排序指示器的默认状态,这里设置第一列为升序排序
    13. tableWidget->horizontalHeader()->setSortIndicator(0, Qt::AscendingOrder);
    14. tableWidget->horizontalHeader()->setSortIndicatorShown(true);
    15. // 添加数据到表格中...
    16. // 省略代码,你可以根据需要插入数据行
    17. // 显示表格
    18. tableWidget->show();

    在上述示例代码中,首先创建了一个 QTableWidget 对象,并设置了列数和行数。然后使用 setHorizontalHeaderLabels() 函数设置表头的文本标签。接下来调用 setSortingEnabled(true) 来启用列排序功能。然后使用 setSortIndicator() 函数设置了默认的列排序指示器的状态,这里设置第一列为升序排序。最后,你可以根据需要添加数据到表格中,并通过 show() 函数显示表格。

    通过以上步骤,你可以使 QTableWidget 的列可排序。请注意,这只会在用户点击表头时触发排序,而不是在代码中自动触发排序。

  • 相关阅读:
    如何利用kakaoTalk进行营销?
    了解ARM架构
    IP路由策略1
    2.1万字,30张图详解操作系统常见面试题(收藏版)
    机器视觉应用系统包括哪些硬件?
    js 处理时间格式——可指定时区进行转换
    论文写作课程心得和总结
    香港服务器数据丢失怎么办
    【UI自动化测试】Jenkins配置
    1004. 最大连续1的个数III(滑动窗口)
  • 原文地址:https://blog.csdn.net/u013083044/article/details/133269308