精华内容
下载资源
问答
  • qml入门教程
    万次阅读
    2020-10-14 18:24:04

    目录

    一.QML简介

    二.从"Hellow Word"浅谈我们第一个QML程序


    一.QML简介

    QML(Qt Meta Language 或者 Qt Modeling Language),从Qt4.7之后,Qt引入了一种声明式脚本语言,类似解释型语言,方便使用,不在是之前C++那样的编译型语言,极大的改变了传统的Qt 使用。将所有界面相关的都写入到一个qml文件中,QML 文件描述了一个对象树。其包含了构造块、图形元素(矩形、图片等)和行为(例如动画、切换等)。这些 QML 元素按照一定的嵌套关系构成复杂的组件,供用户交互,极大的方便了开发的过程,此语

    更多相关内容
  • QML入门教程

    2019-01-18 11:40:55
    QML入门教程 QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制
  • QML 基础教程

    2022-04-11 17:02:15
    QML基础知识 语法基础知识 QML Math详解 随机数、取整、大小比较、四舍五入 QML 获取时间戳字符串 yyyy-MM-dd QML 基础组件 QML Item 核心元素 QML Rectangle矩形 QML Text 文字元素 QML Item定位器 Anchor QML ...
    展开全文
  • QML入门教程(1): Qt Quick与QML介绍

    千次阅读 2020-04-27 14:05:57
    1 什么是Qt Qucik? Qt Quick是QtSDK4.7中引入的一种新的界面开发框架,使用QtQuick,你可以快速、 轻松地创建供... Qt Quick包括描述性语言QML、语言运行时、 大量的用户界面元素、Qt Creator对QML的完美支持、Qt ...

    1 什么是Qt Qucik?        

            Qt Quick是QtSDK4.7中引入的一种新的界面开发框架,使用QtQuick,你可以快速、 轻松地创建供移动和嵌入式设备使用的动态触摸式界面和轻最级应用程序,这也是它被命名 为Quick的原因.

            Qt Quick包括描述性语言QML、语言运行时、 大量的用户界面元素、Qt Creator对QML的完美支持、Qt Quick设计器、QML与C++混合 编程支持等众多技术,使用它你可以轻松、快速地为移动和嵌入式设备创建流畅的用户界面. 在Android等移动设备上,Qt Quick应用默认使用0penGLES,渲染效率很高,你可以 用它创建非常炫、非常酷、非常迷人的界面.QML可以扩展现有的应用程序,也可以称之为“二次开发”。说实话在毕业刚入职时接触了类似的项目,当时也是一脸懵逼,怎么会有这种形式的开发,在别人做好的软件上直接修改。其实类似的二次开发有CAD, Catia等,不过它们是dll, com组件这种插件的模式。

            QtQuick能够与C++,JS有机结合混合编程,开发者可以使用已有的Qt技术结合Qt Quick, 创建更好的应用程序。

            相对于QWidget, MFC等,qml创建应用程序可能会更简单一些。

    2 新建Qt Quick项目

           打开QtCreator,我所用的版本是Qt5.12, Qt Quick默认提供了四种基础项目:

    (1)空项目Empty

    (2)Scroll

    (3)页面切换Stack

    (4)多页面切换Swipe

           下面创建一个空的qml项目,QtCreator会给我们创建好,默认的两个文件main.cpp,  main.qml 

           main.qml代码

    import QtQuick 2.12
    import QtQuick.Window 2.12
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
        color:"gray"
    }

        我加了个属性color, 修改窗口背景颜色。

        一个qml文件主要由两部分组成:

    •     import语句 :这个就像C++中的头文件, 
    •     QML对象树 :根对象是Window,  然后可以在Window中添加各种控件,例如按钮,文本,菜单等

             main.cpp

    #include <QGuiApplication>
    #include <QQmlApplicationEngine>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    
        QGuiApplication app(argc, argv);
    
        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();
    }

           该文件是C++代码,用QML引擎加载main.qml文件,显示窗口,如主循环。

           该程序的界面如下:

           例如下面是在Window中加了一个按钮和矩形

           代码如下:

    import QtQuick 2.12
    import QtQuick.Window 2.12
    import QtQuick.Controls 2.5
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
        color:"gray"
    
        Button
        {
            id:quit
            text:"tuichu"
            anchors.left:parent.left
            anchors.leftMargin:4
            anchors.bottom:parent.bottom
            anchors.bottomMargin:4
    
            onClicked:{
                Qt.quit()
            }
        }
    
        Rectangle
        {
            x:100
            y:70
            width:100
            height:50
            color:"#00C0CC"
            z:1
            opacity:0.6
        }
    }

         因为引入了按钮,那么就得导入它的头文件   import QtQuick.Controls 2.5,运行界面 如下

            各个控件怎么放呢,这就涉及到布局,可以使用锚点相对布局,也可以 用绝对布局,在后面的文章中介绍。

    展开全文
  • QML入门教程(8) : 自定义CheckBox

    千次阅读 2020-05-04 00:28:44
    QML默认的CheckBox是打√,可以自定义实现如下效果 代码 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: true width: 640 height: 480 title: qsTr(...

    QML默认的CheckBox是打√,可以自定义实现如下效果

    代码

    import QtQuick 2.12
    import QtQuick.Window 2.12
    import QtQuick.Controls 2.5
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("自定义CheckBox")
    
        CheckBox {
              id: control1
              text: qsTr(" 英语")
              checked: true
              x:10
              y:10
    
              indicator: Rectangle {
                  implicitWidth: 26
                  implicitHeight: 26
                  x: control1.leftPadding
                  y: parent.height / 2 - height / 2
                  radius: 3
                  border.color: control1.down ? "#17a81a" : "#21be2b"
    
                  Rectangle {
                      width: 14
                      height: 14
                      x: 6
                      y: 6
                      radius: 2
                      color: control1.down ? "#17a81a" : "#21be2b"
                      visible: control1.checked
                  }
              }
    
              contentItem: Text {
                  text: control1.text
                  font: control1.font
                  opacity: enabled ? 1.0 : 0.3
                  color: control1.down ? "#17a81a" : "#21be2b"
                  verticalAlignment: Text.AlignVCenter
                  leftPadding: control1.indicator.width + control1.spacing
              }
          }
    
        CheckBox {
              id: control
              text: qsTr("数学")
              checked: false
              x:10
              y:60
    
              indicator: Rectangle {
                  implicitWidth: 26
                  implicitHeight: 26
                  x: control.leftPadding
                  y: parent.height / 2 - height / 2
                  radius: 3
                  border.color: control.down ? "#17a81a" : "#21be2b"
    
                  Rectangle {
                      width: 14
                      height: 14
                      x: 6
                      y: 6
                      radius: 2
                      color: control.down ? "#17a81a" : "#21be2b"
                      visible: control.checked
                  }
              }
    
              contentItem: Text {
                  text: control.text
                  font: control.font
                  opacity: enabled ? 1.0 : 0.3
                  color: control.down ? "#17a81a" : "#21be2b"
                  verticalAlignment: Text.AlignVCenter
                  leftPadding: control.indicator.width + control.spacing
              }
          }
    }
    

            可以修改代码,实现其它样式。

    展开全文
  • QML入门教程(11) : qml C++交互介绍

    千次阅读 2021-03-20 18:18:46
    qml和C++可以相互调用,可以在qml代码中调用C++的类对象,也可以用C++类来获取qml的控件对象,下面分别介绍这两这种用法 qml调用C++ ​ Qt 提供了两种在 QML 环境中使用 C++对象的方式∶ ​ 方式1:在C+中实现一个类...
  • QML入门教程:一、QML和QtQuick简介以及QML实例

    万次阅读 多人点赞 2018-04-08 11:44:09
    从 Qt 4.7 开始,Qt 引入了一种声明式脚本语言,称为 QML(Qt Meta Language 或者 Qt Modeling Language),作为 C++ 语言的一种替代。而 Qt Quick 就是使用 QML 构建的一套类库。 QML 是一种基于 JavaScript 的声明...
  • QML入门

    2022-05-08 21:38:08
    利用QQuickView2.qml使用C++函数3.C++调用qml中的函数4. qml中信号出发cpp中槽函数 基本语法 import QtQuick 2.0 //导入内建qml的类型 //Item就像Qt中QtObject一样,属于一个基类 Item { width: 500 he
  • 任何类型的语言最基本的语法就是注释,QML也不例外,QML基础语法和其他大多数语言C++、Java和Javasript等类似,主要有两种: 单行注释时使用双斜杠// 多行注释使用 /* … */ 例如: 二.Import语法 QML...
  • QML入门教程:二、QML语法

    万次阅读 多人点赞 2018-04-08 13:39:30
    1、QML 是一种声明语言,用于描述程序界面。 2、QML 将用户界面分解成一块块小的元素,每一元素都由很多组件构成。 3、QML 定义了用户界面元素的外观和行为;更复杂的逻辑则可以结合 JavaScript 脚本实现。这有点...
  • QML入门教程(2): QML Button用法介绍

    千次阅读 2020-04-27 17:19:21
    Button是很常见的控件,Qt...Button QML Type Push-button that can be clicked to perform a command or answer a question. More... Import Statement: import QtQuick.Controls 2.5 Since: Qt 5.7 Inherits:...
  • QML入门教程(10) : QML圆形延时按钮

    千次阅读 2020-05-04 00:41:21
    QML提供了延时按钮DelayButton,我们可以对其自定义,如下图: 代码 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: true width: 640 height: 480 titl...
  • qml对键盘的处理,处理利用Keys,例如按键按下的处理: pressed(KeyEvent event) This signal is emitted when a key has been pressed. The event parameter provides information about the event. The ...
  • QML入门教程(15):图元控件Image

    千次阅读 2021-03-21 20:46:46
    qml的图元控件是Image, 基本使用如下: import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Image{ ...
  • 例如下面的控件可以双向滑动,该控件在QML中叫RangeSlider demo代码如下: import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: true width: 640 height: 480...
  • QML入门教程(3): anchors的用法

    千次阅读 2020-04-27 18:03:12
    QML的布局方法是anchors,锚。 例如界面上四个按钮,可以用绝对坐标 (x, y) 设置他们的位置, 代码如下: import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: ...
  • QML提供了矩形控件 代码如下: import QtQuick 2.12 import QtQuick.Window 2.12 Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Rectangle{ width: 120 ...
  • qml提供了等待控件BusyIndicator 代码如下: import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: true width: 640 height: 480 title: qsTr("Hello World") ...
  • QML入门教程(7):复选框CheckBox

    千次阅读 2020-05-04 00:19:07
    QML的复选框是CheckBox,使用代码如下: import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 import QtQuick.Layouts 1.12 Window { visible: true width: 640 height: 480 title:...
  • QML入门教程(一)

    2014-10-31 16:21:00
    所以你在看到别人提供的.qml文件时,你可以用下面命令qml filename.qml 查看.qml的执行结果,咱们的第一个Hello,World生成界面如下 开始QML吧 上面的Hello,World源代码如下 1 import Qt 4.7 2 3 ...
  • QML入门教程(3)

    2014-10-31 16:21:00
    除了这个main.qml之外,还有一个Cell.qml也是需要的,和教程(2)中的完全一样。下面来看一看比起教程(2)的代码增加出来的内容。 Text{ ... states: State { name: "down"; when: mouseArea.pressed == ...
  • Label用法代码 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Label ... ...
  • Item的定义 Qt助手的解释 The Item type is the base type for all visual items in Qt Quick. All visual items in Qt Quick inherit from Item. Although an Item object has no visual appearance, it defines ...
  • 过渡Transitions 必须配合状态State才能使用,见前一篇博文。 所谓过渡,就是在已经定义好的两个state之间,做平滑的转场动画。这些动画可以是位移动画、颜色渐变动画、旋转动画等等任意QML支持的动画(见) ...
  • QML入门教程:四、QML组件

    千次阅读 2018-04-08 16:24:11
    QML 可以用基本元素组合成一个复杂的元素,方便以后我们的重用。这种组合元素就被称为组件。组件就是一种可重用的元素。QML 提供了很多方法来创建组件。不过,这里我们只介绍一种方式:基于文件的组件。基于文件的...
  • QML的单选按钮是RadioButton,例如下面的界面 实现代码如下: RadioButton { id:rb1 checked: true text: qsTr("First") } RadioButton { id:rb2 text: qsTr("Second") } RadioButton { id:rb...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,303
精华内容 521
关键字:

qml入门教程