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

网站建设费江阴网站优化公司

网站建设费,江阴网站优化公司,足球彩票网站建设开发,手机代理网址1、创建QML工程 1)新建工程 打开QtCreator10,依次点击“Create Project” --> “Application(Qt)” --> “Qt Quick Application(compat)” 注意:本人打算使用Qt5.15.2创建工程,而非Qt6,因此选择兼容低于Qt6版本的“Qt Quick Applicat…

1、创建QML工程

1)新建工程
打开QtCreator10,依次点击“Create Project” --> “Application(Qt)” --> “Qt Quick Application(compat)”
注意:本人打算使用Qt5.15.2创建工程,而非Qt6,因此选择兼容低于Qt6版本的“Qt Quick Application(compat)”来创建
在这里插入图片描述
2)设置工程名、路径
在这里插入图片描述
3)选择构建系统
这里选择构建系统为qmake,如果在第一步新建工程时选择的是“Qt Quick Application”,这里将看不到qmake,因为Qt6使用cmake构建。
在这里插入图片描述
4)选择Qt版本
本人选择为Qt5.15,本人没有选择虚拟键盘,请各位看官根据需要来添加
在这里插入图片描述
5)选择翻译语言
本人选择为中文Chinese(China),不选择也可以
在这里插入图片描述
6)选择编译套件Kit
本人选择为Qt5.15.2 64bit
在这里插入图片描述
7)完成
最后在“总结”(Summary)界面点击完成Finish即可。

在这里根据需要可以设置版本管理。
在这里插入图片描述

2、编译、运行

创建完成后,直接编译、运行即可,默认界面如下:
在这里插入图片描述

3、代码讲解

3.1 工程结构

最小工程共5个文件:

$ tree
├── GwQmlDemo1.pro		// 工程pro文件
├── GwQmlDemo1_zh_CN.ts	// 翻译ts文件
├── main.cpp			// 主文件,由此进入qml世界
├── main.qml			// qml描述文件
└── qml.qrc				// qrc资源文件,将qml文件加载到程序中

在编译生成的二进制可执行文件中可以看到qml的内容
在这里插入图片描述

3.2 main.cpp详解

1)头文件

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QLocale>
#include <QTranslator>

除了QQmlApplicationEngine其它头文件很常见,QQmlApplicationEngine类下面会详细讲解

2)对高DPI显示屏的支持

int main(int argc, char *argv[])
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endifQGuiApplication app(argc, argv);

DPI:每英寸长度内的像素点数;
设置应用程序属性为 Qt :: AA_EnableHighDpiScaling 可以根据显示器的像素密度进行自动缩放。
上面这句话是啥意思呢?
如果不设置 Qt :: AA_EnableHighDpiScaling ,在一些高DPI显示屏上,设计时的窗口尺寸和显示的不一致,如下图所示:
在这里插入图片描述
3)翻译
在创建项目时,选择了翻译Translator,因此会自动生成如下代码

QTranslator translator;
const QStringList uiLanguages = QLocale::system().uiLanguages();
for (const QString &locale : uiLanguages) {const QString baseName = "GwQmlDemo1_" + QLocale(locale).name();if (translator.load(":/i18n/" + baseName)) {app.installTranslator(&translator);break;}
}

4)加载qml
下面的代码等于 QQmlApplicationEngine engine(“qrc:/main.qml”);其它代码是错误处理

    QQmlApplicationEngine engine;const QUrl url(QStringLiteral("qrc:/main.qml"));QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,&app, [url](QObject *obj, const QUrl &objUrl) {if (!obj && url == objUrl)QCoreApplication::exit(-1);}, Qt::QueuedConnection);engine.load(url);return app.exec();
}

QQmlApplicationEngine:该类可以加载单个QML文件,它结合了QQmlEngine和QQmlComponent方法。
注意:QQuickView会自动创建根窗口,QQmlApplicationEngine不会自动创建根窗口,因此qml中需要使用Window对象为 Qt Quick 场景创建一个新的顶级窗口。

QQmlApplicationEngine::objectCreated:当对象完成加载时会发出此信号。如果加载成功,object包含指向加载对象的指针,否则该指针为 NULL。可以使用该信号来确定对象树何时准备就绪。

QQmlApplicationEngine::load:加载根 QML 文件

3.3 main.qml详解

1)导入模块
使用import来导入模块,和include类似

import QtQuick 2.15
import QtQuick.Window 2.15

还有个常用的模块

import QtQuick.Controls	包含各种按键等

2)元素、属性

Window {width: 640height: 480visible: truetitle: qsTr("Hello World")
}

Window即是种元素,常见的元素还有:Rectangle、Text、Button、Image、MouseArea、Item等
width、height、visible、title等皆为属性,

4、补充

4.1 元素列表

可在官网查看所有的元素:
Qt5:https://doc.qt.io/qt-5/qmltypes.html
Qt6:https://doc.qt.io/qt-6/qmltypes.html

4.2 属性列表

以Window为例,Window的全部属性可以在官网查看,Window属性列表如下

active : bool			活动状态
activeFocusItem : Item 	当前具有活动焦点的项目
color : color			窗口的背景颜色
contentItem : Item	 	场景中不可见根项目???
contentOrientation : Qt::ScreenOrientation
data : list<QtObject>	data 属性允许您在一个窗口中自由混合可视子项、资源和其他窗口。
flags : Qt::WindowFlags
height : int
maximumHeight : int
maximumWidth : int
minimumHeight : int
minimumWidth : int
modality : Qt::WindowModality	窗口的形态
opacity : real		窗	口的不透明度
screen : variant		与窗口关联的屏幕
title : string			窗口的标题
transientParent : QWindow	随父窗口显示或隐藏,如果设置为NULL,将独立显示
visibility : QWindow::Visibility	可见性是指窗口在窗口系统中是否应以正常、最小化、最大化、全屏或隐藏的方式显示
visible : bool	窗口在屏幕上是否可见
width : int
x : int
y : int
http://www.hrbkazy.com/news/33893.html

相关文章:

  • 关键词优化排名技术网络优化工程师前景如何
  • 华为云速建站可以做英文网站cnzz数据统计
  • 制作网站需要怎么做做网站企业
  • 马尔康网站建设各大搜索引擎网址
  • 哈密网站制作如何制作简单的网页链接
  • 单页网站做淘宝客手机最新产品新闻
  • html5网站后台管理系统seo关键字怎么优化
  • 高师本科化学实验教学体系建设与创新型人才培养 教学成果奖申报网站百度关键词排名爬虫
  • 沧州网站制作费用广州百度快速优化排名
  • 给公司做网站需要什么品牌推广方式
  • 天津公司网站如何制作seo描述是什么意思
  • html5做静态网站北京优化seo排名
  • 网站建设推广优化靠谱sem网络推广公司
  • php网站开发实例pdf军事最新消息
  • 建设网站最便宜多少钱百度关键词排名qq
  • 做ic哪些网站好做市场调研报告模板范文
  • 快捷的网站建设软件郑州做网站推广
  • joomla网站如何加入会话功能推广团队
  • 织梦cms可以做淘宝客网站么如何自己开发软件app
  • 营销型网站建设一般包含哪些内容短视频搜索优化
  • 丰城建设网站网络营销做得好的公司
  • 如何投诉做网站的公司收录平台
  • 工厂管理培训课程seo站内优化包括
  • 动效网站怎么做seo英文怎么读
  • 巫山做网站哪家强seo关键词排名优化
  • 企业网站群建设方案苏州搜索引擎优化
  • 山西建设工程备案网站网络推广公司官网
  • 深圳在建高铁站百度小说app下载
  • 黑龙江交通基础设施建设网站广州白云区最新信息
  • 如何做网站推广页面友情链接格式