注意这两种添加方式的区别:第一种需要在构造时设置所要添加到的QListWidget对象;第二种方法不需要这样设置,而是要调用addItem()或者insertItem()自行添加。如果你仔细查阅QListWidgetItem的构造函数,会发现有一个默认的type参数。该参数有两个合法值:QListWidgetItem::Type(默认)和QListWidgetItem::UserType。如果我们继...
在C++中有不少JSON库,比如 nlohmann/jsonJSONfor Modern C++ 一款支持对结构体、Map、数组、vector等数据进行序列化和反序列化的现代C++的JSON解析库。 RapidJson腾讯开发的一款C++ JSON解析库,高效的 C++ JSON 解析/生成器,提供 SAX 及 DOM 风格API QJson基于Qt的Json解析库,适用于Qt4或者以上的版本。 关于JSON...
不过这可不是由 QFileDialog 打开的哦,这是我们自己实现的。而提供这种实现支持的,就是 QDirModel 和 QTreeView。我们来看一下代码。 mytreeview.h #ifndef MYLISTVIEW_H #define MYLISTVIEW_H #include <QtGui> class MyTreeView : public QWidget { Q_OBJECT public: MyTreeView(); private: QDirModel *...
不管底层数据是如何存储的,只要是QAbstractItemModel的子类,都提供一种表格形式的层次结构。视图利用统一的转换来访问模型中的数据。但是,需要提供的是,尽管模型内部是这样组织数据的,但是并不要求也得这样子向用户展示数据。 下面是各种 model 的组织示意图。我们利用此图来理解什么叫“一种表格形式的层次结构”。 如上...