Qt 项目视图的便捷类

Qt 项目视图的便捷类

Qt中提供了一些标准部件来提供经典的基于项的容器部件,它们的底层是通过模型、视图框架实现的。

这些部件分别是QListWidget、QTreeWidget、QTableWidget。这些部件都继承了QAstractItemView 类的行为。

因为这些部件没有将视图和模型分离,所以没有视图类灵活,不能和任意的模型一起使用,一般用来处理数据。

一、关于QListWidget 的简单使用

    // QListWidget
    QListWidget listWidget;
    // 一种添加项目的简便方法
    new QListWidgetItem("hello", &listWidget);
    new QListWidgetItem("world", &listWidget);


    // 添加项目的另一种方法,这样还可以进行各种设置
    QListWidgetItem *listWidgetItem = new QListWidgetItem;
    listWidgetItem->setText("b");
    listWidgetItem->setIcon(QIcon("../modelView2/yafeilinux.png"));
    listWidgetItem->setToolTip("this is b!");
    listWidget.insertItem(1, listWidgetItem);
    // 设置排序为倒序
    //listWidget.sortItems(Qt::DescendingOrder);
    // 显示列表部件
    listWidget.show();

单层的项目列表一般使用QListWidget和QListWidgetItem来显示。

二、QTreeWidget的使用

 // QTreeWidget
    QTreeWidget treeWidget;
    // 必须设置列数
    treeWidget.setColumnCount(2);
    // 设置标头
    QStringList headers;
    headers << "name" << "year";
    treeWidget.setHeaderLabels(headers);
    // 添加项目
    QTreeWidgetItem *grade1 = new QTreeWidgetItem(&treeWidget);
    grade1->setText(0,"Grade1");
    QTreeWidgetItem *student = new QTreeWidgetItem(grade1);
    student->setText(0,"Tom");
    student->setText(1,"1986");
    QTreeWidgetItem *grade2 = new QTreeWidgetItem(&treeWidget, grade1);
    grade2->setText(0,"Grade2");
    treeWidget.show();

树或者项目的层次列表由QTreeWidget和QTreeWidgetItem类提供。在树部件中的每一个项目都可以有它自己的子项目,而且可以显示多列的信息。

三、QTableWidget部件


    // QTableWidget
    // 创建表格部件,同时指定行数和列数
    QTableWidget tableWidget(3, 2);
    // 创建表格项目,并插入到指定单元
    QTableWidgetItem *tableWidgetItem = new QTableWidgetItem("qt");
    tableWidget.setItem(1, 1, tableWidgetItem);
    // 创建表格项目,并将它们作为标头
    QTableWidgetItem *headerV = new QTableWidgetItem("first");
    tableWidget.setVerticalHeaderItem(0,headerV);
    QTableWidgetItem *headerH = new QTableWidgetItem("ID");
    tableWidget.setHorizontalHeaderItem(0,headerH);
    tableWidget.show();

项目表格使用QTableWidget和QTableWidgetItem来构建,它提供了一个包含表头和项目的可滚动表格部件。

表格一般在构造的时候就指定它的行数和列数,数据项可以在表格外构建,然后再添加到表格中指定的位置。

表格项目还可以作为水平或者垂直表头。

原创文章 41 获赞 0 访问量 2037

猜你喜欢

转载自blog.csdn.net/qq_21291397/article/details/104919875