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

大型网站开发周期贵州省教育厅办公室关于开展2014年学校门户网站建设评估的通知

大型网站开发周期,贵州省教育厅办公室关于开展2014年学校门户网站建设评估的通知,阿里巴巴国际站每年的基础费用是,安庆做网站公司【QT八股文】系列之篇章1 | QT的基础知识及事件/机制 前言0. 基础Qt/PyQt5介绍/关联Qt的优缺点#xff08;为什么要用qt来做界面#xff09;Qt 的核心机制请简要介绍一下Qt中的主窗口#xff08;MainWindow#xff09;类#xff0c;它有哪些重要的函数和成员变量#xff… 【QT八股文】系列之篇章1 | QT的基础知识及事件/机制 前言0. 基础Qt/PyQt5介绍/关联Qt的优缺点为什么要用qt来做界面Qt 的核心机制请简要介绍一下Qt中的主窗口MainWindow类它有哪些重要的函数和成员变量Qt中的常用容器类偏数据类并说明它们的特点和使用场景。PyQt5中的常用容器类偏布局类并说明它们的特点及使用场景。 1. 事件/机制QT 的事件 定义/来源/接收者/传递信号与事件的区别QT 的事件机制是什么QT事件机过滤器是什么QT事件机过滤器使用的三种方法及注意事项QT 的事件循环QT程序是事件驱动的如何理解常见的QT事件类型QT事件机制有几种级别的事件过滤QT/PYQT5模型/视图机制采用的是MVD设计模式类似于MVCQT中模型/视图机制与Vue模型/视图机制的区别 下篇笔记链接说明 前言 笔者xiaobai_RyCSDN) 笔记时间2022年某个未知时间点 原创文章未经同意请勿转载 之前说过要share QT的八股文原创maybe有小伙伴之前看过我的这篇笔记博客 先来看看之前的笔记概况吧最近打算清理一下之前的知识存货啦啦啦PS给自己的年度目标还没有达标所以最近疯狂码字系列了 终于我来更新了这里我同样不喜欢在一篇博文中放太长的内容所以这里我同样分成章节来share啦。今天2023/12/21先来更新第一篇章吧。 【第一篇章主要内容】 作为第一篇章主要是基础定义及QT中重要的事件机制啦 原创文章未经同意请勿转载 0. 基础 Qt/PyQt5介绍/关联 Qt 是一个跨平台的C的 GUI 应用程序开发框架可以适用于绝大多数操作系统和设备包括Windows、Linux 和 macOS 等桌面设备Android、IOS、WP等移动设备、MCU等。可以支持GUI程序和非GUI程序如控制台工具和服务器等的开发是完全面向对象的框架容易扩展并且允许真正的组件编程。PyQt5 是 Qt 的一个 Python 绑定库它允许开发人员使用 Python 语言编写 Qt 应用程序。它支持 Windows、Linux 和 macOS 等平台并且是一个非常流行的 Python 库被广泛应用于 GUI 应用程序开发。 Qt的优缺点为什么要用qt来做界面 优点 1. 跨平台几乎支持所有平台2. 接口简单文档详细3. 简化了回调函数采用信号与槽机制开发效率高缺点Qt 作为一个软件平台比较庞大、臃肿容易出现程序崩溃现象。 开发时笔者也会发现开发环境实验环境及生产环境下程序的运行效率真的还有比较多的差别尤其是在打包没有设置好的情况下。而且随着系统的规模及复杂程度这种现象也越明显。 Qt 的核心机制 主要有三大核心机制围绕信号与槽的展开元对象系统属性系统信号与槽最核心 元对象系统提供信号与槽机制属性系统…) Qt的元对象系统meta-object提供了用于内部对象通讯的信号与槽signals slots机制运行时类型信息以及动态属性系统dynamic property system。 元对象编译器MOC 属性系统 属性系统特性可以用于任何Qt支持的编译器与架构。它基于元对象系统Meta-Object System这套系统同时也提供信号与槽机制用于对象间通讯。 信号与槽 信号与槽用于对象之间的通讯。信号与槽机制是Qt的核心特性。 在Qt中使用了信号与槽机制代替了回调机制。信号将会在特定的事件出现时被发出。Qt的控件预定义了很多信号当然我们也可以继承这些控件以定义自己的子类然后添加自己的信号。槽是在响应特定信号时会被调用的方法。Qt的控件存在很多预定义的槽但通常的做法是继承控件以生成自己的子类然后添加自己的槽这样我们就可以自行处理感兴趣的信号。 其他核心机制GUI界面管理机制窗口管理器和布局管理器事件处理机制数据库支持…. 窗口布局管理器:Qt 使用布局/窗口管理器来实现 GUI 应用程序的布局。事件处理机制:Qt 的事件处理机制允许开发人员处理用户交互事件如鼠标点击、键盘按键等。Qt 提供了一组事件处理函数可以方便地处理各种事件。Qt 数据库支持:Qt 提供了对数据库的支持开发人员可以使用 Qt 提供的数据库 API 来连接和操作各种数据库如 MySQL、PostgreSQL 和 Oracle 等。 请简要介绍一下Qt中的主窗口MainWindow类它有哪些重要的函数和成员变量 Qt中的主窗口MainWindow类是一种特殊的窗口类它通常用于构建程序的主窗口。主窗口类继承自QWidget类因此可以使用QWidget类中的函数和成员变量同时还具有一些特殊的函数和成员变量。其中: 最常用的函数是setCentralWidget()函数用于设置主窗口的中心控件还有menuBar()函数和statusBar()函数用于设置菜单栏和状态栏等。 常用的成员变量包括: centralWidget成员变量表示主窗口的中心控件menuBar成员变量表示菜单栏QtWidgets.QMenuBar()侧工具栏QtWidgets.QSidebar底部工具栏QtWidgets.QBottomBar顶部工具栏QtWidgets.QToolBar(window)statusBar成员变量表示状态栏。 Qt中的常用容器类偏数据类并说明它们的特点和使用场景。 QVector基于数组实现的动态数组容器类支持快速的随机访问和尾部插入操作。适合于需要频繁随机访问的情况。QList基于双向链表实现的容器类支持高效的插入和删除操作。适合于需要频繁插入和删除元素的情况。QLinkedList基于双向链表实现的容器类支持高效的插入和删除操作但不支持随机访问。适合于需要频繁插入和删除元素但不需要随机访问的情况。QSet基于哈希表实现的集合容器类支持高效的查找和插入操作不允许重复元素。适合于需要快速查找元素且不需要重复元素的情况。QMap基于红黑树实现的映射容器类支持高效的查找和插入操作键值对按照键的大小有序排列。适合于需要按键进行排序和快速查找的情况。QHash基于哈希表实现的映射容器类支持高效的查找和插入操作键值对无序存储。适合于需要快速查找键值对且不需要按键排序的情况。QStringList基于QString实现的字符串列表容器类支持高效的字符串操作如拼接、查找、替换等。适合于处理字符串列表的情况。QByteArray基于char数组实现的字节数组容器类支持高效的二进制数据读写操作。适合于处理二进制数据的情况。 PyQt5中的常用容器类偏布局类并说明它们的特点及使用场景。 在 PyQt5 中有许多常用的容器类可以用来组织和管理 GUI 应用程序中的数据和情感。以下是一些常用的 PyQt5 容器类并说明它们的特点及使用场景: QtWidgets.QStackedWidget: QStackedWidget 是一个弹出式窗口容器用于在一组窗口之间切换。它支持标签、标题、最小化和最大化按钮以及内容滚动。它的特点是可以弹出新窗口并在窗口之间切换常用于布局多个子窗口以及在主窗口中显示多个子窗口。QtWidgets.QVBoxLayout: QVBoxLayout 是垂直布局容器用于在子组件之间布局。它支持垂直布局、水平和垂直布局特点是可以嵌套子组件并控制子组件的大小和位置。它常用于布局文本框、按钮、标签等组件以及在主窗口中添加子窗口。QtWidgets.QHBoxLayout: QHBoxLayout 是水平布局容器用于在子组件之间布局。它支持水平布局、垂直布局和水平垂直布局特点是可以嵌套子组件并控制子组件的大小和位置。它常用于布局下拉框、列表框等组件以及在主窗口中添加子窗口。QtWidgets.QFormLayout: QFormLayout 是表单布局容器用于布局表单组件例如文本框、下拉框和按钮。它支持垂直布局、水平布局和表单布局特点是可以添加表单控件并控制它们的大小和位置。它常用于布局表单数据例如用户注册或登录窗口。QtWidgets.QGridLayout: QGridLayout 是网格布局容器用于在水平或垂直方向上布局多个组件。它支持组件对齐、组件大小调整和组件重叠特点是可以控制组件的位置和大小适用于布局多个组件的大型 GUI 应用程序。QtWidgets.QGroupBox: QGroupBox 是一个群组框容器用于创建群组框可以在其中添加子窗口和组件。它的特点是可以添加子窗口并控制子窗口的大小和位置。它常用于布局多个组件例如菜单栏或状态栏。QtWidgets.QFrame: QFrame 是边界框容器用于创建边界框可以包含文本、按钮和其他组件。它的特点是可以添加其他容器组件并控制组件的大小和位置。它常用于布局文本、按钮和其他小型组件例如按钮组或标签组。QtWidgets.Q Banner: QBanner 是一个广告条容器用于在应用程序中显示广告或信息。它的特点是可以显示文本、图像或其他媒体并支持动画效果。它常用于在应用程序中添加广告或重要信息。QtWidgets.QListWidget: QListWidget 是一个列表容器用于显示列表中的项。它支持选中、拖动和删除操作特点是可以添加、删除和修改项。它常用于显示数据列表例如文件列表或用户列表。QtWidgets.QTreeView: QTreeView 是树形结构容器用于显示树形结构中的项。它支持拖动和删除操作特点是可以添加、删除和修改项。它常用于显示数据树形结构例如文件系统或数据库。 综上所述这些容器类都有各自特点和使用场景可以根据实际需要选择合适的容器类来组织和管理 GUI 应用程序中的数据和情感。 1. 事件/机制 QT 的事件 定义/来源/接收者/传递 定义 Qt 事件是一个 QEvent 对象用于描述程序内部或外部发生的动作任意的 QObject 对象都具有事件处理的能力 意义 来源 Qt中事件的来源有两个程序外部和内部。 程序外部多数情况下来自操作系统可以通过bool QEvent::spontaneous() const函数来获知返回true事件发生在应用程序之外(系统事件)否则返回false。程序内部系统自动发生比如计时器事件timerEvent。 接收者 事件由QObject类来接收是Qt对象模型的核心所有需要处理的事件类都必须继承QObject。 GUI 应用程序的事件处理方式 Qt 事件产生后立即分发到 QWidget 对象QWidget 中的 event(QEvent*) 进行事件处理event() 根据事件的类型调用不同的事件处理函数在事件处理函数中发送 Qt 中预定义的信号调用信号关联的槽函数 事件的传递过程 信号与事件的区别 首先我们需要了解一下相关的定义。 信号槽signal由具体对象发出然后会马上交给由connect函数连接的 slot进行处理。事件 Qt 使用一个事件队列对所有发出的事件进行维护当新的事件产生时会被追加到事件队列的尾部前一个事件完成后取出后面的事件进行处理。但是必要的时候Qt 的事件也是可以不进入事件队列而是直接处理的。并且事件还可以使用“事件过滤器”进行过滤。 信号与事件的区别主要可以概述为 处理对象不同 事件由具体对象进行处理信号由具体对象主动产生。改写事件处理函数可能导致程序行为发生改变信号是否存在对应的槽函数不会改变程序行为一般而言信号在具体的事件处理函数中产生。使用的机制和原理不同 事件类似于 Windows 里的消息它的发出者一般是窗口系统。相对信号和槽机制它 比较“底层”它同时支持异步和同步的通信机制一个事件产生时将被放到事件队列 里然后我们就可以继续执行该事件 “后面”的代码。事件的机制是非阻塞的。信号和槽机制相对而言比较“高层”它的发出者一般是对象。从本质上看它类似 于传统的回调机制是不支持异步调用的。 使用场合和时机不同 一般情况下 在“使用”窗口部件时我们经常需要使用信号并且会遵循信号与槽的机制在“实现”窗口部件时我们就不得不考虑如何处理事件了。 举个例子当使用 QPushButton 时我们对于它的 clicked()信号往往更为关注而很少关心促成发射该信号的底层的鼠标或者键盘事件。但是如果要实现一个类似于 QPushButton 的类我们就需要编写一定的处理鼠标和键盘事件的代码而且在必要的时候仍然需要发射和接收 clicked()信号。 QT 的事件机制是什么 事件机制事件会经过事件产生 -事件派发 - 事件过滤-事件分发-事件处理五个阶段。Qt 窗口中对于产生的一系列事件都有默认的处理动作如果有特殊需求就需要在合适的阶段重写事件的处理动作。 当事件产生之后Qt 使用用应用程序对象调用 notify() 函数将事件发送到指定的窗口事件在发送过程中可以通过事件过滤器进行过滤默认不对任何产生的事件进行过滤。当事件发送到指定窗口之后窗口的事件分发器会对收到的事件进行分类.事件分发器会将分类之后的事件鼠标事件、键盘事件、绘图事件…分发给对应的事件处理器函数进行处理每个事件处理器函数都有默认的处理动作,也可以重写这些事件处理器函数。 当发生事件比如点击鼠标或键盘就会产生一个QEvent对象这里注意QT中所有的事件类都继承于QEvent,这个QEvent对象会传给当前组件的event函数如果没有事件过滤器则该函数会按照事件对象的类型发送到特定的xxxEvent事件处理函数中进行处理。 事件处理顺序 首先QCoreApplication::exec()开启了事件循环一直到QCoreApplication::exit()被调用才终止所以说事件循环是伴随着Qt程序的整个运行周期事件被分发到事件队列中当队列中有事件时会不停的将事件发送给QObject对象队列为空时就阻塞以下为处理顺序。 sendEvent使用notify()函数直接将事件发送给接收者发送事件时不会删除该事件通常是在栈上面创建事件它是同步事件。postEvent将事件添加到事件队列中并立即返回事件必须在堆上分配因为提交事件队列将获得事件的所有权并在提交后删除它。在事件发布后访问该事件是不安全的它是异步事件。 事件机制流程产生事件事件派发事件接收者处理事件转发 QT事件机过滤器是什么 定义 除了使用事件分发器来过滤 Qt 窗口中产生的事件还可以通过事件过滤器过滤相关的事件。当 Qt 的事件通过应用程序对象发送给相关窗口之后窗口接收到数据之前这个期间可对事件进行过滤过滤掉的事件就不能被继续处理了。事件过滤器可以对其它组件接收到的事件进行监控。QObject 有一个 eventFilter () 函数用于建立事件过滤器。 作用 实际上事件过滤器并不只是过滤事件也可以对事件进行捕捉、并做出相应的处理操作。对象A只有安装了对象B的事件过滤器才会在对象B的eventFilter方法中进行监控对象A的所有事件。 过滤传递中的事件主要分为两步 给要被过滤事件的类对象安装事件过滤器 组件通过 installEventFilter() 函数安装事件过滤器 事件过滤器在组件之前接收到事件事件过滤器能够决定是否将事件转发到组件对象 在要进行事件过滤的类中(filterObj 参数对应的类)重写从QObject类继承的虚函数eventFilter()。 注意事件过滤器和被安装过滤器的组件必须在同一线程否则过滤器将不起作用。另外如果在安装过滤器之后这两个组件到了不同的线程那么只有等到二者重新回到同一线程的时候过滤器才会有效。 QT事件机过滤器使用的三种方法及注意事项 三种方法 父窗口类通过重写eventFilter方法来监听子控件的相关事件进行处理。 使用这种方式的好处是不需要通过重写控件的方式获取某些事件对于安装了事件过滤器的对象他们所有的事件都会经过这个事件过滤器所以就可以直接在父窗口中进行监测。比如某个窗口中有个QLabel对象我们想要监听他的鼠标点击事件那我们就需要继承QLabel类然后重写mousePressEvent事件如果有其他类型的控件也需要获取某个事件那是不是都需要继续控件并重写某个事件了所以我们通过事件过滤器就可以很方便获取某个对象的某个事件。专门的事件过滤器类对特定的对象/特定的事件进行处理。 事件过滤器类只需对当前安装的对象进行处理无需关心其他操作且一个事件过滤器类可以被多个对象使用例如Qt文档中的按键过滤示例KeyPressEater类中的eventFilter过滤了所有的键盘按下事件只要安装此事件过滤器的控件都接收不到键盘按键按下的事件这种就是对某个通用的事件进行过滤可以进行多次复用。给QApplication安装事件过滤器达到全局事件监听的效果。 在notify方法下发事件的时候QApplication对象可以拿到第一控制权对某些事件优先进行处理比如全局的快捷键操作。 注意点: 事件过滤器可以安装在任何继承QObject的对象上也可以安装在QApplication对象上全局事件过滤器事件过滤器(eventFilter方法)返回值为true表示将当前事件进行过滤不会发送到对象本身如果返回false表示对当前事件不做任何处理会通过event()方法将事件分发给原来的对象。如果不知道怎么处理或者返回什么那就返回父类的eventFilter方法类似 return QObject::eventFilter(watched, event);一个对象可以安装多个事件过滤器也就是一个对象的事件可以被多个对象进行监控/处理/过滤 并且最先安装的事件过滤器是最后被调用的类似于栈的操作先进后出一个事件过滤器可以被多个对象安装但是如果在事件过滤器(eventFilter方法)中把该对象删除了 一定要将返回值设为true。否则 Qt会将事件继续分发给这个对象从而导致程序崩溃。 QT 的事件循环 定义Qt事件循环从队列中不断取出消息、处理消息的过程。 事件循环事件是一个类对象具有特定的类型多数情况下是被分发到一个队列中事件队列当队列中有事件时就不停地将队列中的事件发送给QObject对象当队列为空时就阻塞地等待事件。 事件循环首先是一个无限“循环”程序在exec()里面无限循环能让跟在exec()后面的代码得不到运行机会直至程序从exec()跳出。从exec()跳出时事件循环即被终止。QEventLoop::quit()能够终止事件循环。 首先QCoreApplication::exec()开启了事件循环一直到QCoreApplication::exit()被调用才终止所以说事件循环是伴随着Qt程序的整个运行周期事件被分发到事件队列中当队列中有事件时会不停的将事件发送给QObject对象队列为空时就阻塞 类型 事件循环一般用exec()函数开启。QApplicaion::exec()、QMessageBox::exec()都是事件循环。其中前者又被称为主事件循环。 QT程序是事件驱动的如何理解 Qt将系统产生的信号(软件中断)转换成Qt事件并且将事件封装成类所有的事件类都是由QEvent派生的事件的产生和处理就是Qt程序的主轴且伴随整个程序的运行周期。因此说Qt是事件驱动的。 常见的QT事件类型 键盘事件: 按键按下和松开 Key Press Event Key Release Event鼠标事件: 鼠标移动,鼠标按键的按下和松开鼠标进入事件鼠标离开事件… Mouse Motion Event Mouse Click EventMouse Right Click EventMouse Position Event拖放事件: 用鼠标进行拖放 Dragging Event滚轮事件: 鼠标滚轮滚动绘屏事件: 重绘屏幕的某些部分 定时事件: 定时器到时焦点事件: 键盘焦点移动 进入和离开事件: 鼠标移入widget之内,或是移出 Focus Change Event移动事件: widget的位置改变大小改变事件: widget的大小改变显示和隐藏事件: widget显示和隐藏窗口事件: 窗口是否为当前窗口窗口关闭等 QT事件机制有几种级别的事件过滤 根据对Qt事件机制的分析, 我们可以得到5种级别的事件过滤,处理办法. 以功能从弱到强, 排列如下: 1重写特定事件处理函数. 最常见的事件处理办法就是重载象mousePressEvent(), keyPressEvent(), paintEvent() 这样的特定事件处理函数. 2重写event()函数. 通过重载event()函数,我们可以在事件被特定的事件处理函数处理之前(象keyPressEvent())处理它. 比如, 当我们想改变tab键的默认动作时,一般要重载这个函数. 在处理一些不常见的事件(比如:LayoutDirectionChange)时,evnet()也很有用,因为这些函数没有相应的特定事件处理函数. 当我们重载event()函数时, 需要调用父类的event()函数来处理我们不需要处理或是不清楚如何处理的事件. 3 在Qt对象上安装事件过滤器 安装事件过滤器有两个步骤: (假设要用A来监视过滤B的事件) 首先调用B的installEventFilter( const QOject *obj ), 以A的指针作为参数. 这样所有发往B的事件都将先由A的eventFilter()处理. 然后, A要重载QObject::eventFilter()函数, 在eventFilter() 中书写对事件进行处理的代码. 4 给QAppliction对象安装事件过滤器. 一旦我们给qApp(每个程序中唯一的QApplication对象)装上过滤器,那么所有的事件在发往任何其他的过滤器时,都要先经过当前这个 eventFilter(). 在debug的时候,这个办法就非常有用, 也常常被用来处理失效了的widget的鼠标事件,通常这些事件会被QApplication::notify()丢掉. ( 在QApplication::notify() 中, 是先调用qApp的过滤器, 再对事件进行分析, 以决定是否合并或丢弃) 5 继承QApplication类,并重写notify()函数. Qt 是用QApplication::notify()函数来分发事件的.想要在任何事件过滤器查看任何事件之前先得到这些事件,重载这个函数是唯一的办法. 通常来说事件过滤器更好用一些, 因为不需要去继承QApplication类. 而且可以给QApplication对象安装任意个数的事件。 QT/PYQT5模型/视图机制采用的是MVD设计模式类似于MVC QT中的模型/视图Model/View架构是一种用于管理和显示数据的模型。在很多书中QT的视图模型经常被叫做MVC其实QT中的MVC并不叫MVC而是叫“MVD”Qt中没有Controller的说法而是使用了另外一种抽象: Delegate (委托) 其行为和传统的MVC是相同的。 模型视图委托MVD是PyQt中特有的设计模式类似MVC设计模式将MVC设计模式中的Controller当做MVD中的Delegate两者的概念基本相同。不同的是委托不是独立存在而是包含在视图里面。 模型视图委托设计模式中模型负责存储和管理数据视图负责显示数据其中界面的框架和基础信息是视图负责具体数据的显示是委托负责委托不仅仅负责数据的显示还有一个重要的功能是负责数据的编辑如在视图中双击就可以编辑数据。 其中 模型 数据的存储一般是列表表格和树不同的存储方式有不同的操作和管理方法为了适应这种差异性PyQt中提供了一种统一的操作方法如下图所示 委托 委托被封装在视图里面主要是负责数据的显示和编辑功能。 数据的编辑主要涉及的方法 createEditor 在双击进入编辑时创建编辑器如创建QLineEditQTextEditupdateEditorGeometry 设置编辑器显示的位置和大小setEditorData 更新数据到视图setModeData 通过索引更新数据到模型 如果需要修改编辑时操作数据的方式就需要重写上述方法。 视图主要是负责显示其中涉及的方法 paint 负责绘制editorEvent 负责处理事件 如果要实现自定义视图显示需要重写paint方法在paint方法中绘制需要显示的控件然后在editorEvent方法中处理事件更新数据。 QT中模型/视图机制与Vue模型/视图机制的区别 相似点 在 Qt 和 Vue 中视图模型 (View Model) 是一种将数据和界面分离的机制。其中模型都负责存储和管理数据视图负责显示数据而视图模型则负责将数据转换为界面上的元素并将其呈现给用户。区别 但QT采用的视图模型设计模式为MVD而Vue中采用的是MVVM。因此在QT中视图模型与数据模型之间是相关的而在Vue中View 和 Model 之间并没有直接的联系而是通过ViewModel进行交互Model 和 ViewModel 之间的交互是双向的 因此View 数据的变化会同步到Model中而Model 数据的变化也会立即反应到View 上。 QT采用的视图模型设计模式为MVD而Vue中采用的是MVVMQT中视图模型与数据模型之间是相关的而在Vue中View 和 Model 之间并没有直接的联系QT中View和Model不是双向数据绑定的而MVVM是双向数据绑定 区别详细 在 Qt 中视图模型通常使用 QProxyModel 来实现。运行机制中还会用到QModelIndex。QModelIndex 是用于表示数据模型中的索引的类QProxyModel 是一个代理模型它使用一个数据模型来呈现界面。开发者可以使用 QProxyModel 来创建自定义的视图模型以适应不同的应用程序需求。在 Qt 中视图模型通常与应用程序的数据模型相关联数据模型中存储着应用程序的数据而视图模型负责将数据转换为界面上的像素并将其呈现给用户。在 Vue 中视图模型通常使用组件 (Component) 来实现。组件是 Vue 中的最小可重用单元它们包含数据和事件处理程序。Vue 通过将组件组合在一起来构建应用程序的界面每个组件都拥有自己的数据模型和界面呈现逻辑。开发者可以使用 Vue 的指令和计算属性来自定义组件并将它们组合在一起来构建应用程序的界面。虽然 Qt 和 Vue 的视图模型有一些相似之处但它们也有一些不同之处。在 Qt 中视图模型是与数据模型相关的而在 Vue 中组件是与数据模型无关的。此外在 Qt 中视图模型中的视图对象是 QProxyModel 的实例而在 Vue 中组件是 Vue 实例的实例。 下篇笔记链接 下篇笔记链接【待更新】 下篇笔记主要内容【待更新】 说明 原创文章未经同意请勿转载 作者xiaobai_Ry 码字不易可能当中存在某些字体错误笔者我没有发现如果有错误欢迎大家指正。
http://www.zqtcl.cn/news/667772/

相关文章:

  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题
  • 大企业网站制作及维护关于网站建设的论文题目
  • wordpress网站字体淄博网站搜索排名
  • visual stdio 做网站 注册用户 密码必须6位以上品牌服装网站源码
  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress
  • 番禺网站建设知乎自己做网站卖矿山设备
  • 手表网站起名登录页面html模板
  • 泰国如何做网站推广大英网站建设工作
  • 山东省职业能力建设处网站dz论坛怎么做视频网站吗
  • 郑州专业做网站的公司今天郑州最新通告
  • wap网站引导页特效wordpress 文章 数据库
  • 做建筑效果图最好的网站做网站是如果盈利的
  • 企业网站seo托管怎么做seo公司培训
  • 自己做网站不想买空间 自己电脑可以做服务器吗?下载建设网站软件
  • 有服务器自己怎么做网站百度广告电话号码是多少
  • 一个网站 两个数据库沈阳市住房和城乡建设厅网站
  • 重庆建站网站流程及费用制作网页界面工具
  • 设计师家园官网wordpress 4.9 优化