【Qt5开发及实例】22、文件浏览器

文件浏览器

今天有点痿了,昨天晚上2点左右睡的,怪我太痴迷编程????

NO!NO!NO!  看网络小说到2点,= =。我也是醉了,不知道为什么昨天晚上就是睡不着,然后就掏出手机看起了小说,结果是TMD居然看到了精彩片段,呵呵,等我回过神来已经2点了,坑。。。。

今天就做了个简单的小程序,然后就看看书,也没怎么敲代码,我觉得还是蛮好的,有时候不能往死里敲代码,还是要休息一下,看看其他的,思考一下下一步怎么走。

恩!就是这样,好吧,前面的这些才是今天的主要收获!!

文件浏览模型

/**
* 书本:【Qt5开发及实例】
* 功能:实现MVC的模型/视图类
* 文件:main.cpp
* 时间:2015年1月27日12:29:22
* 作者:cutter_point
*/
#include <QApplication>
#include <QAbstractItemModel>
#include <QAbstractItemView>
#include <QItemSelectionModel>

#include <QDirModel>
#include <QTreeView>
#include <QListView>
#include <QTableView>
#include <QSplitter>

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);

  //首先创建一个文件模型
  QDirModel model;

  //三种显示模式
  QTreeView tree;
  QListView list;
  QTableView table;

  tree.setModel(&model);
  list.setModel(&model);
  table.setModel(&model);

  tree.setSelectionMode(QAbstractItemView::SingleSelection);   //单选
//  tree.setSelectionMode(QAbstractItemView::MultiSelection);   //多选
  list.setSelectionMode(QAbstractItemView::MultiSelection);   //多选
//  table.setSelectionMode(tree.selectionModel());   //多选
  table.setSelectionMode(QAbstractItemView::MultiSelection);   //多选

  QObject::connect(&tree,   SIGNAL(doubleClicked(QModelIndex)), &list, SLOT(setRootIndex(QModelIndex)));
  QObject::connect(&tree,   SIGNAL(doubleClicked(QModelIndex)), &table, SLOT(setRootIndex(QModelIndex)));
  QSplitter *splitter = new QSplitter;
  splitter->addWidget(&tree);
  splitter->addWidget(&list);
  splitter->addWidget(&table);
  splitter->setWindowTitle(QObject::tr("Model/View"));
  splitter->show();

  return a.exec();
}

你没有看错,就是这么多,我看这个图片上传,是越来越不爽了,代码是正确的,至于界面贴出来其实有利与理解,可是不知道为什么图片最近老贴不上去,哎,真想自己开一个自己的网站,自己写自己的,自己想怎么玩就怎么玩,等明年,我想办法搞一个,最好能拿到个免费的,嘿嘿!

时间: 2024-12-25 14:27:07

【Qt5开发及实例】22、文件浏览器的相关文章

【Qt5开发及实例】27、获得文件的信息

fileinfo.h /** * 书本:[Qt5开发及实例] * 功能:获得文件的信息 * 文件:fileinfo.h * 时间:2015年2月4日17:23:38 * 作者:cutter_point */ #ifndef FILEINFO_H #define FILEINFO_H #include <QDialog> #include <QLabel> #include <QPushButton> #include <QLineEdit> #include

【Qt5开发及实例】26、得到文件的大小和目录的路径

说实话,我是为了混个持之以恒的标签的 = =,谁叫我过年都没怎么写呢!!!! /** * 书本:[Qt5开发及实例] * 功能:得到文件的大小和目录的路径 * 文件:main.cpp * 时间:2015年2月3日21:18:16 * 作者:cutter_point */ #include <QCoreApplication> #include <QStringList> #include <QDir> #include <QtDebug> //根据给的路径得

【Qt5开发及实例】18、图形修饰小工具

图形修饰小工具 无力吐槽,这是我第三遍写这个了,到底是个什么意思???我只要一贴代码,浏览器直接崩溃,呵呵了,我也是,我现在只要写完一段字我就保存,尼玛在掉我就不写了,写到word里面,再贴上来. 效果 左边图形展示界面 paintarea.h /** * 书本:[Qt5开发及实例] * 功能:实现绘画各种图形 * 文件:paintarea.h * 时间:2015年1月21日16:59:25 * 作者:cutter_point */ #ifndef PAINTAREA_H #define PAI

【Qt5开发及实例】30、实现客户端的编程,UDP协议

udpclient.h /** * 书本:[Qt5开发及实例] * 功能:实现客户端的编程 * 文件:udpclient.h * 时间:2015年2月5日22:10:30 * 作者:cutter_point */ #ifndef UDPCLIENT_H #define UDPCLIENT_H #include <QDialog> #include <QVBoxLayout> #include <QTextEdit> #include <QPushButton>

【Qt5开发及实例】21、导弹地图演示

导弹地图演示 这个导弹地图是一个中国的地图: 好的废话不多直接上代码(里面有大量注释,不怕你看不懂) main.cpp /** * 书本:[Qt5开发及实例] * 功能:实现地图的浏览器 * 文件:main.cpp * 时间:2015年1月26日18:57:55 * 作者:cutter_point */ #include "mapwidget.h" #include <QApplication> #include <QFont> int main(int arg

【Qt5开发及实例】9、一个QQ界面

这个程序主要是为了学习一下工具盒类,这里使用了3个工具盒然后添加到整个界面上, 分别是:好友(good friend), 陌生人(do not remember), 黑名单(black items) 哈哈,原谅我这不咋地的英语,懂我就好. 实现图: 代码: drawer.h /** * 书本:[Qt5开发及实例] * 功能:实现一个自己的QQ界面 * 文件:drawer.cpp * 时间:2015年1月2日11:01:12 * 作者:cutter_point */ #ifndef DRAWER_

【Qt5开发及实例】16、实现一个简单的文本编辑器(over)

实现一个简单的文本编辑器 其他具体的代码基础看前面:http://blog.csdn.net/cutter_point/article/details/42839071 1.功能 这个程序又添加了文本编辑功能,什么加粗,斜体,下划线,字体设置,字号设置,文字排版,段落对齐功能. 2.代码全展示 头文件 showwidget.h /** * 书本:[Qt5开发及实例] * 功能:实现一个简单的文本编辑器 * 文件:showwidget.h * 时间:2015年1月18日10:03:21 * 作者:

【Qt5开发及实例】24、数据柱形图显示

数据柱形图显示 1.我们首先把这个这个视图的表格部分表示出来 mainwindow.h /** * 书本:[Qt5开发及实例] * 功能:数据柱形图显示,这个类是表格显示 * 文件:mainwindow.h * 时间:2015年1月28日18:50:54 * 作者:cutter_point */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QStandardItemModel>

【Qt5开发及实例】25、实现代理的功能

实现代理的功能 在Qt里面也有MVC,那就是视图,模型,代理,后面我们再开一章,好好来学习一下Qt的MVC吧! main.cpp /** * 书本:[Qt5开发及实例] * 功能:实现代理的功能 * 文件:main.cpp * 时间:2015年1月29日20:53:04 * 作者:cutter_point */ #include <QApplication> #include <QStandardItemModel> #include <QTableView> //#i