QListView QTreeView QTableView 应用Demo

/**********************************Widget.h***********************************************/

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QHBoxLayout>
#include <QListView>
#include <QStringListModel>
#include <QTreeView>
#include <QTableView>
#include <QStandardItemModel>
class Widget : public QWidget
{
public:
    Widget(QWidget *parent = 0);
    ~Widget();
private:
    QHBoxLayout *mainLayout;
    QListView *listView;
    QStringListModel *model_listView;
    QTreeView *treeView;
    QStandardItemModel *model_treeView;
    QTableView *tableView;
    QStandardItemModel *model_tableView;
};
#endif

/**********************************widget.cpp***********************************************/

#include "widget.h"
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    mainLayout = new QHBoxLayout;
    /*列表控件*/
//    listView = new QListView(this);
//    listView->setGeometry(QRect(50, 50, 100, 100));
//    QStringList strList;
//    strList<<"数学"<<"语文"<<"英语"<<"美术";
//    model_listView = new QStringListModel(strList);
//    listView->setModel(model_listView);
 
    /*树形控件*/
    treeView = new QTreeView(this);
    treeView->setGeometry(QRect(50, 50, 150, 200));
    //实例数据类型3个节点2列
    model_treeView = new QStandardItemModel(3, 2);
    model_treeView->setHeaderData(0, Qt::Horizontal, "one");
    model_treeView->setHeaderData(1, Qt::Horizontal, "two");
    QStandardItem *item1 = new QStandardItem("数学");
    QStandardItem *item2 = new QStandardItem("语文");
    QStandardItem *item3 = new QStandardItem("外语");
    QStandardItem *item4 = new QStandardItem("外语A");
    item3->appendRow(item4);
    //将节点添加至QStandardItemModel
    model_treeView->setItem(0, 0, item1);
    model_treeView->setItem(1, 0, item2);
    model_treeView->setItem(2, 0, item3);
    treeView->setModel(model_treeView);
 
    /*表格控件*/
//    tableView = new QTableView(this);
//    tableView->setGeometry(QRect(50, 50, 310, 200));
//    //实例数据模型
//    model_tableView = new QStandardItemModel;
//    //定义列
//    model_tableView->setHorizontalHeaderItem(0, new QStandardItem("数学"));
//    model_tableView->setHorizontalHeaderItem(1, new QStandardItem("语文"));
//    model_tableView->setHorizontalHeaderItem(2, new QStandardItem("外语"));
//    model_tableView->setItem(0, 0, new QStandardItem("数学A"));
//    model_tableView->setItem(0, 1, new QStandardItem("语文A"));
//    model_tableView->setItem(0, 2, new QStandardItem("外语A"));
 
//    model_tableView->setItem(1, 0, new QStandardItem("数学B"));
//    model_tableView->setItem(1, 1, new QStandardItem("语文B"));
//    model_tableView->setItem(1, 2, new QStandardItem("外语B"));
//   //将数据模型绑定控件
//    tableView->setModel(model_tableView);
    mainLayout->addWidget(treeView);
    setLayout(mainLayout);
}
Widget::~Widget()
{
}

/**********************************main.cpp***********************************************/

#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值