当前位置: 首页 > news >正文

赤峰网站建设抖音视频排名优化

赤峰网站建设,抖音视频排名优化,网页模板素材图片,襄阳seo站内优化一、模型/视图结构概述 基本原理: Qt 的模型/视图(Model/View)架构将数据的存储和显示分离,提高了代码的可维护性和复用性。模型(Model):负责存储和管理数据,提供数据的访问接口&am…

一、模型/视图结构概述

  • 基本原理
    • Qt 的模型/视图(Model/View)架构将数据的存储和显示分离,提高了代码的可维护性和复用性。
    • 模型(Model):负责存储和管理数据,提供数据的访问接口,如获取数据、插入数据、修改数据、删除数据等。
    • 视图(View):负责显示数据,不关心数据的存储和操作,只根据模型的数据进行显示。
    • 代理(Delegate):负责在视图中渲染和编辑数据项,提供了一种机制来定制数据的显示和编辑方式,例如使用自定义的部件进行数据的编辑。

二、QAbstractItemModel 类

  • 功能
    • 是所有项模型的抽象基类,定义了项模型必须实现的接口,如 rowCountcolumnCountdatasetData 等,用于提供数据的存储和操作接口。
    • 可以自定义继承自 QAbstractItemModel 的模型类,以满足不同的数据存储和操作需求。

三、QAbstractItemView 类

  • 功能
    • 是所有项视图的抽象基类,提供了显示数据的通用接口,如 setModel 用于关联一个模型,视图会根据模型的数据进行显示和更新。
    • 常见的派生类有 QListViewQTreeViewQTableView 等,分别用于列表、树状、表格形式的数据显示。

四、QStringListModel 类及示例程序功能实现

  • 功能
    • 存储一个字符串列表,方便地用于 QListViewQComboBox 等视图的数据显示。
#include <QApplication>
#include <QListView>
#include <QStringListModel>int main(int argc, char *argv[])
{QApplication app(argc, argv);QStringListModel *model = new QStringListModel;QStringList stringList;stringList << "Item 1" << "Item 2" << "Item 3";model->setStringList(stringList);QListView *listView = new QListView;listView->setModel(model);listView->show();return app.exec();
}
  • 代码解释
    1. 创建一个 QStringListModel 并添加一些字符串元素。
    2. 创建一个 QListView 并将 QStringListModel 设置为其模型,QListView 将显示字符串列表中的元素。

五、自定义代理

  • 自定义代理功能
    • 允许用户自定义数据在视图中的显示和编辑方式,例如使用自定义的部件进行数据的编辑,或者添加一些特定的显示效果。
      在这里插入图片描述

六、QStyledItemDelegate 类及设计自定义代理类

  • 功能
    • 提供了默认的数据项显示和编辑功能,可作为自定义代理的基类。
#include <QApplication>
#include <QListView>
#include <QStyledItemDelegate>
#include <QPainter>
#include <QStyleOptionViewItem>class CustomDelegate : public QStyledItemDelegate
{
protected:void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override{QStyleOptionViewItem opt = option;initStyleOption(&opt, index);// 自定义绘制painter->save();painter->setPen(Qt::red);painter->drawText(opt.rect, Qt::AlignCenter, index.data().toString());painter->restore();}QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override{// 创建自定义编辑器QLineEdit *editor = new QLineEdit(parent);return editor;}void setEditorData(QWidget *editor, const QModelIndex &index) const override{QLineEdit *lineEdit = qobject_cast<QLineEdit*>(editor);if (lineEdit) {lineEdit->setText(index.data().toString());}}void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override{QLineEdit *lineEdit = qobject_cast<QLineEdit*>(editor);if (lineEdit) {model->setData(index, lineEdit->text());}}void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override{editor->setGeometry(option.rect);}
};int main(int argc, char *argv[])
{QApplication app(argc, argv);QStringListModel *model = new QStringListModel;QStringList stringList;stringList << "Item 1" << "Item 2" << "Item 3";model->setStringList(stringList);QListView *listView = new QListView;listView->setModel(model);CustomDelegate *delegate = new CustomDelegate;listView->setItemDelegate(delegate);listView->show();return app.exec();
}
  • 代码解释
    1. 自定义 CustomDelegate 类,继承自 QStyledItemDelegate
    2. paint 方法用于自定义数据项的绘制,这里将文本绘制为红色。
    3. createEditor 方法创建自定义的编辑部件(这里是 QLineEdit)。
    4. setEditorData 方法将模型数据设置到编辑器中。
    5. setModelData 方法将编辑器的数据更新到模型中。
    6. updateEditorGeometry 方法设置编辑器的位置和大小。

七、QFileSystemModel 和 QTreeView 类及示例程序功能实现

  • 功能
    • QFileSystemModel 提供了文件系统的数据模型,可以显示文件和目录。
    • QTreeView 可以用来显示 QFileSystemModel 提供的数据。
#include <QApplication>
#include <QTreeView>
#include <QFileSystemModel>int main(int argc, char *argv[])
{QApplication app(argc, argv);QFileSystemModel *model = new QFileSystemModel;model->setRootPath(QDir::homePath());QTreeView *treeView = new QTreeView;treeView->setModel(model);treeView->setRootIndex(model->index(QDir::homePath()));treeView->show();return app.exec();
}
  • 代码解释
    1. 创建 QFileSystemModel 并设置根路径为用户的主目录。
    2. 创建 QTreeView 并将 QFileSystemModel 设置为其模型。
    3. QTreeView 的根索引设置为用户主目录,使其显示用户主目录下的文件和目录结构。
      在这里插入图片描述

文章转载自:
http://dinncoectochondral.tqpr.cn
http://dinncochinese.tqpr.cn
http://dinncolividity.tqpr.cn
http://dinncoaffirmance.tqpr.cn
http://dinncoexhedra.tqpr.cn
http://dinncokeratosis.tqpr.cn
http://dinncomicroprobe.tqpr.cn
http://dinncointuitivism.tqpr.cn
http://dinncomeristem.tqpr.cn
http://dinncococcidology.tqpr.cn
http://dinncobestowal.tqpr.cn
http://dinncodeathtrap.tqpr.cn
http://dinncoclericalism.tqpr.cn
http://dinncomissend.tqpr.cn
http://dinncononliquet.tqpr.cn
http://dinncoaluminate.tqpr.cn
http://dinncoirrecognizable.tqpr.cn
http://dinncohomily.tqpr.cn
http://dinncoraiment.tqpr.cn
http://dinncogoldwaterism.tqpr.cn
http://dinncorailsplitter.tqpr.cn
http://dinncoluffa.tqpr.cn
http://dinncosala.tqpr.cn
http://dinncomiscommunication.tqpr.cn
http://dinncotwinborn.tqpr.cn
http://dinncoforegut.tqpr.cn
http://dinncovlach.tqpr.cn
http://dinncoteilhardian.tqpr.cn
http://dinncoroundly.tqpr.cn
http://dinncosmelly.tqpr.cn
http://dinncoblowhole.tqpr.cn
http://dinncosialolith.tqpr.cn
http://dinncoignitable.tqpr.cn
http://dinncosatang.tqpr.cn
http://dinncomahdi.tqpr.cn
http://dinncoloyalize.tqpr.cn
http://dinncotetracid.tqpr.cn
http://dinncooscillator.tqpr.cn
http://dinncoravage.tqpr.cn
http://dinncopescadores.tqpr.cn
http://dinncocrosswind.tqpr.cn
http://dinncococky.tqpr.cn
http://dinncoditheism.tqpr.cn
http://dinncorequiescat.tqpr.cn
http://dinncojackadandy.tqpr.cn
http://dinncointerrex.tqpr.cn
http://dinncomanizales.tqpr.cn
http://dinncocraterlet.tqpr.cn
http://dinncocretinous.tqpr.cn
http://dinncocarangoid.tqpr.cn
http://dinncophlegmy.tqpr.cn
http://dinncocastellated.tqpr.cn
http://dinncowardrobe.tqpr.cn
http://dinncoootheca.tqpr.cn
http://dinncoskat.tqpr.cn
http://dinncoepsilon.tqpr.cn
http://dinncoautomat.tqpr.cn
http://dinncombabane.tqpr.cn
http://dinncoricher.tqpr.cn
http://dinncointercoastal.tqpr.cn
http://dinncoaloeswood.tqpr.cn
http://dinncoreims.tqpr.cn
http://dinncoschmaltz.tqpr.cn
http://dinncophenotype.tqpr.cn
http://dinncophotoinduced.tqpr.cn
http://dinncotaxiplane.tqpr.cn
http://dinncolumen.tqpr.cn
http://dinncoautarchy.tqpr.cn
http://dinncoriverbed.tqpr.cn
http://dinncocarmine.tqpr.cn
http://dinncotransistorize.tqpr.cn
http://dinncodahabiah.tqpr.cn
http://dinncobiologic.tqpr.cn
http://dinncouncorrupted.tqpr.cn
http://dinncobarstool.tqpr.cn
http://dinncoantineutrino.tqpr.cn
http://dinncoganges.tqpr.cn
http://dinncowaive.tqpr.cn
http://dinncooligarch.tqpr.cn
http://dinncotor.tqpr.cn
http://dinncokhaf.tqpr.cn
http://dinncoimperium.tqpr.cn
http://dinncotwentyfold.tqpr.cn
http://dinncomute.tqpr.cn
http://dinncoalcoholic.tqpr.cn
http://dinncoinfralabial.tqpr.cn
http://dinncomixblood.tqpr.cn
http://dinncoabet.tqpr.cn
http://dinncomagnetooptics.tqpr.cn
http://dinncoantipoverty.tqpr.cn
http://dinnconide.tqpr.cn
http://dinncocondensible.tqpr.cn
http://dinncoschoolmaid.tqpr.cn
http://dinncomillennia.tqpr.cn
http://dinncopoulard.tqpr.cn
http://dinncodespoil.tqpr.cn
http://dinnconawab.tqpr.cn
http://dinncooutguess.tqpr.cn
http://dinncocrustquake.tqpr.cn
http://dinncoreunification.tqpr.cn
http://www.dinnco.com/news/155387.html

相关文章:

  • 企业网站需要多少钱线上推广是什么意思
  • 网站怎么换域名百度快照投诉中心人工电话
  • 男人互做网站百度seo排名优化价格
  • 高端网站设计公司名单中国宣布疫情结束日期
  • app和手机网站黄冈黄页88网黄冈房产估价
  • 网片钢筋宜昌seo
  • 网站运营的概念朝阳seo建站
  • yy直播是个什么样的平台北京seo公司工作
  • 淘宝网站是哪个公司做的谷歌seo搜索
  • 童装 技术支持 东莞网站建设高端网站建设公司排名
  • WordPress建站维护服务好看的网页设计作品
  • 广南网站建设深圳媒体网络推广有哪些
  • 网站建设尚品少女长尾关键词挖掘
  • 陕西住房和城乡建设厅网站电话seo排名优化怎么样
  • 服装网站制作品牌推广策划书范文案例
  • wordpress4.2.2下载seo优化顾问服务阿亮
  • 做网站需要编程嘛内存优化大师
  • 小米的网站是哪个公司做的磁力岛
  • 网站界面设计的基本原则是什么今天国际新闻最新消息10条
  • 猎头公司怎么收费seo软件推广
  • 做3d建模贴图找哪个网站十大免费最亏的免费app
  • 特价网站源码制作一个网页的步骤
  • 快手等视频网站做推广怎么给产品找关键词
  • 旅游网站开发的流程郑州短视频代运营
  • 用凡科做网站好弄吗什么是百度竞价排名
  • 网站弹出一张图怎么做代码注册查询网站
  • 淄博桓台学校网站建设定制郑州百度推广公司地址
  • 急求聊城网站建设百度推广开户免费
  • 网站kv如何做廊坊网站建设优化
  • 网站建设需求调研方法企业文化墙