努力学技术hhh 2024-03-08 14:24 采纳率: 42.9%
浏览 11
已结题

QT怎样重载表格控件的

C++QT 5.15.2

img


我想用Qt中的表格控件实现图中的效果
或者其他控件,在实现图中的效果,类似的表格,第一列有可以展开的加号按钮

  • 写回答

17条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-03-08 14:25
    关注

    🌈🌈🌈参考通义千问和郭老师的小迷弟雅思莫了-编写提供🌈🌈🌈
    您可以参考如下,如果回答的不正确,及时评论区回复我,我会根据你错误描述追加回复,直到您满意为止。

    在QT中实现可以展开的表格,本质上是使用的是QTreeView 或者 QTreeWidget 控件,而不是QTableWidget控件。下面给出一个使用QTreeWidget的简单示例,第一列具有可展开的加号按钮,点击加号按钮后会展开显示子项:

    #include <QApplication>
    #include <QTreeWidget>
    
    int main(int argc, char **argv)
    {
        QApplication app(argc, argv);
        QTreeWidget treeWidget;
        treeWidget.setColumnCount(3);
    
        QTreeWidgetItem *rootItem = new QTreeWidgetItem(&treeWidget);
        rootItem->setText(0, "Root item");
        rootItem->setText(1, "Some data");
        rootItem->setText(2, "More data");
    
        QTreeWidgetItem *childItem = new QTreeWidgetItem(rootItem);
        childItem->setText(0, "Child item");
        childItem->setText(1, "Some data");
        childItem->setText(2, "More data");
    
        treeWidget.show();
        return app.exec();
    }
    
    
    

    在这个代码中,创建了一个 rootItem,然后再创建了一个 childItem 并把它和rootItem关联起来。rootItem被添加为 treeWidget 的顶级项,当它被点击时,就可以展开显示其子项 childItem。
    如果你需要对这个表格进行更多的定制,或实现更复杂的数据展示,你可能需要利用QTreeView和QAbstractItemModel,建立一个自定义的数据模型。有关自定数据模型的更多内容,可以参考Qt的官方文档。
    注意,上述代码是C++编写的Qt程序,如果你正在使用Python的PyQt库,代码会有所不同,但思路是一样的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(16条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月8日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大