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

在凡科上做的网站无法加载出来网站开发的缓存技术

在凡科上做的网站无法加载出来,网站开发的缓存技术,网站的规划与建设_按时间顺序可以分为哪等五个阶段,网站底部美化代码QT初级 1、简介1.1 安装1.2 设置1.3 在VS中配置Qt1.3 帮助文档 2、Qt项目2.1 创建项目2.1 项目文件2.2 Qt中的窗口类窗口显示 2.3 坐标体系2.4 内存回收 1、简介 QT是一个跨平台的C应用程序开发框架。几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发。 Qt是标准 C 的扩…

QT初级

  • 1、简介
    • 1.1 安装
    • 1.2 设置
    • 1.3 在VS中配置Qt
    • 1.3 帮助文档
  • 2、Qt项目
    • 2.1 创建项目
    • 2.1 项目文件
    • 2.2 Qt中的窗口类
      • 窗口显示
    • 2.3 坐标体系
    • 2.4 内存回收

1、简介

QT是一个跨平台的C++应用程序开发框架。几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发。

  1. Qt是标准 C++ 的扩展, C++的语法在Qt中都是支持的。
  2. 良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,可以快速上手。
  3. Qt 提供了一种称为 signals/slots 的安全类型来替代 callback(回调函数),这使得各个元件 之间的协同工作变得十分简单。

QT中的模块:

  • Qt 基本模块(Qt Essentials):提供了 Qt 在所有平台上的基本功能。
  • Qt 附加模块(Qt Add-Ons):实现一些特定功能的提供附加价值的模块。
  • 增值模块(Value-AddModules):单独发布的提供额外价值的模块或工具。
  • 技术预览模块(Technology Preview Modules):一些处于开发阶段,但是可以作为技术预览使用的模块。
  • Qt 工具(Qt Tools):帮助应用程序开发的一些工具。

在这里插入图片描述

1.1 安装

下载地址(最新版本已经不支持安装包下载安装,必须通过在线安装方式安装
官方: https://download.qt.io/
清华大学: https://mirrors.tuna.tsinghua.edu.cn/qt/

  • 5.14版本以下可以通过下载EXE安装文件进行安装。
  • 5.15版本以上通过在线安装,在线安装官网镜像较慢,可以配置国内镜像安装。
    下载完安装包后,不要直接双击运行,否则将会导致安装时出现超时情况
    使用以下方式打开,避免超时情况:
    进入cmd->进入下载路径:
    qt-online-installer-windows-x64-4.8.1.exe(需要安装的版本号) --mirror https://mirrors.ustc.edu.cn/qtproject // qt-online-installer-windows-x64-4.8.1.exe表示下载的安装包名称
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.2 设置

当我们编写一个Qt程序,并且生成了可执行程序,这个可执行程序运行的时候默认需要加载相关的Qt动态库(因为默认是动态链接,静态链接则不需要)。为了保证可执行程序在任何目录执行都能链接到对应的动态库,我们可以将Qt模块对应的动态库目录设置到系统的环境变量中。

设置环境变量:
D:\Qt\Tools\mingw1310_64\bin
D:\Qt\6.8.3\mingw_64\bin

在这里插入图片描述
在这里插入图片描述

1.3 在VS中配置Qt

  • VS中使用QT需要进行版本的匹配。
    在这里插入图片描述
    高版本的VS也可以安装低版本的Qt,需要安装低版本的编译器即可。
    在这里插入图片描述
    VS2019+QT5.14.2安装及配置编译环境

在VS中下载插件,然后关闭VS。VS会自动安装插件
在这里插入图片描述
在VS中配置编译器:
在这里插入图片描述
之后就可以在VS中打开Qt的项目了!VS只是一个载体,用于显示Qt程序(UI),所采用的编译器还是Qt中的编译器。若在高版本的VS中使用低版本的Qt,则需要在VS中安装低版本的编译器,然后QT中将VS中安装的低版本编译器设置进去
在这里插入图片描述

在这里插入图片描述

1.3 帮助文档

[官方帮助文档](链接: link)

2、Qt项目

2.1 创建项目

在这里插入图片描述
选择需要创建的项目,然后安装向导设置即可。
编译选用Qmake,否则不会生成Qt项目文件。

2.1 项目文件

  1. 项目文件(.pro):在创建的Qt项目中自动生成了一个后缀为 .pro 的项目文件,该文件中记录着项目的一些属性信息
  2. main.cpp:在这个源文件中有程序的入口函数 main()
  3. mainwindow.ui:在Qt中每一个窗口都对应一个可编辑的可视化界面(*.ui), 这个界面对应的是一个xml格式的文件, 一般情况下不需要在xml格式下对这个文件进行编辑, 关于这个文件结构了解即可。
  4. mainwindow.h:这个文件是窗口界面对应的类的头文件。
  5. mainwindow.cpp:这个文件是窗口界面对应的类的源文件。

2.2 Qt中的窗口类

在这里插入图片描述

窗口显示

  • 内嵌窗口
    依附于某一个大的窗口, 作为了大窗口的一部分
    大窗口就是这个内嵌窗口的父窗口
    父窗口显示的时候, 内嵌的窗口也就被显示出来了
  • 不内嵌窗口
    这类窗口有边框, 有标题栏
    需要调用函数才可以显示
// QWidget是所有窗口类的基类, 调用这个提供的 show() 方法就可以显示将任何窗口显示出来
// 非模态显示
void QWidget::show();	// 显示当前窗口和它的子窗口// 对话框窗口的非模态显示: 还是调用show() 方法
// 对话框窗口的模态显示
[virtual slot] int QDialog::exec();

2.3 坐标体系

在Qt关于窗口的显示是需要指定位置的,这个位置是通过坐标来确定的,所有坐标的选取又都是基于坐标原点来确定的。

所有坐标的确定都需要先找到坐标原点, Qt的坐标原点在窗口的左上角。
在这里插入图片描述
在一个Qt窗口中一般都有很多子窗口内嵌到这个父窗口中,其中每个窗口都有自己的坐标原点,子窗口的位置就是它的父窗口坐标体系中的坐标点。Qt中窗口显示的时候使用的相对坐标, 相对于自己的父窗口
在这里插入图片描述

// 所有窗口类的基类: QWidget
// QWidget中提供了移动窗口的 API函数
// 参数 x, y是要移动的窗口的左上角的点, 窗口的左上角移动到这个坐标点
void QWidget::move(int x, int y);
void QWidget::move(const QPoint &);

2.4 内存回收

在Qt中创建对象的时候会提供一个 Parent对象指针(可以查看类的构造函数)。

QObject是以对象树的形式组织起来的。当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是 parent,也就是父对象指针。这相当于,在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父对象的children()列表。当父对象析构的时候,这个列表中的所有对象也会被析构。(注意,这里的父对象并不是继承意义上的父类!)

QWidget是能够在屏幕上显示的一切组件的父类。QWidget继承自QObject,因此也继承了这种对象树关系。一个孩子自动地成为父组件的一个子组件。因此,它会显示在父组件的坐标系统中,被父组件的边界剪裁。例如,当用户关闭一个对话框的时候,应用程序将其删除,那么,我们希望属于这个对话框的按钮、图标等应该一起被删除。事实就是如此,因为这些都是对话框的子组件。

Qt 引入对象树的概念,在一定程度上解决了内存问题。

当一个QObject对象在堆上创建的时候,Qt 会同时为其创建一个对象树。不过,对象树中对象的顺序是没有定义的。这意味着,销毁这些对象的顺序也是未定义的。

任何对象树中的 QObject对象 delete 的时候,如果这个对象有 parent,则自动将其从 parent 的children()列表中删除;如果有孩子,则自动 delete 每一个孩子。Qt 保证没有QObject会被 delete 两次,这是由析构顺序决定的。
在这里插入图片描述
Qt中有内存回收机制, 但是不是所有被new出的对象被自动回收, 满足条件才可以回收。
如果想要在Qt中实现内存的自动回收, 需要满足以下两个条件:

  1. 创建的对象必须是QObject类的子类(间接子类也可以)。QObject类是没有父类的, Qt中有很大一部分类都是从这个类派生出去的。Qt中使用频率很高的窗口类和控件都是 QObject 的直接或间接的子类。其他的类可以自己查阅Qt帮助文档
  2. 创建出的类对象, 必须要指定其父对象是谁, 一般情况下有两种操作方式:
// 方式1: 通过构造函数
// parent: 当前窗口的父对象, 找构造函数中的 parent 参数即可
QWidget::QWidget(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
QTimer::QTimer(QObject *parent = nullptr);// 方式2: 通过setParent()方法
// 假设这个控件没有在构造的时候指定符对象, 可以调用QWidget的api指定父窗口对象
void QWidget::setParent(QWidget *parent);
void QObject::setParent(QObject *parent);
http://www.dtcms.com/a/583380.html

相关文章:

  • GUI自动化测试--自动化测试的意义和应用场景
  • ZCC7151S替代LTC7151S:高效静默,赋能未来电源设计——20V/15A同步降压稳压解决方案​
  • cocos打包的web-mobile(web手机端)在浏览器无法运行的原因和解决方法
  • 多种时间序列预测算法的MATLAB实现
  • 营销网站和展示型网站昆明做网站哪家公司好
  • 网站建设w亿玛酷1负责手机做炫光图头像的网站
  • 【JAVA虚函数与多态的底层实现】
  • 只做男士衬衫的网站建设网站公司怎么分工
  • 麦德龙网站建设目标网站页面布局用什么做
  • 3.1、Python-列表
  • 网站设计师培训做网站域名怎么选有利于seo
  • 餐饮网站建设方案书炫客网站建设
  • ABB RobotStudio许可功能premium不可用(从布局创建系统不成功)解决办法
  • 网站设置反爬虫的主要原因建筑网格布是用什么材料
  • 滕州网站建设 助企网络做相册网站logo
  • 潍坊网站建设 世纪环球16楼大航母网站建设在哪里
  • 九江网站网站建设兰州网站制作要多少钱
  • 东莞做网站公司首选高端建站方案
  • 一个人是否可以做公司网站把公司建设成为 现代化企业
  • 2025-11-07 ZYZ28-NOIP模拟赛-Round3 hetao1733837的record
  • 零知IDE——STM32F407VET6驱动SHT40温湿度传感器与ST7789实现智能环境监测系统
  • 中国人做的比较好的shopify网站公司网页怎么关闭
  • 大语音模型有什么作用和特点
  • 网站建设公司的市场定位专业的移动网站建设公
  • wordpress 选择插件南昌网络排名优化
  • wordpress 注册 密码专业搜索引擎seo公司
  • mipi dsi图像
  • 网站开发合作意向协议书房产信息网网站
  • 企业管理网站建设wordpress 熊掌
  • 深度学习入门:基于Python的理论与实现(理论研究)