/**********************************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();
}