日常啰嗦

QML是一种描述性的脚本语言,语法格式非常像CSS,且支持javascript形式的编程控制。众所周知, 用QML来写界面既简单又高效,可以非常快速的搭建一个酷炫的界面出来,所以在做 Qt 应用开发时,若遇到比较复杂或动效较多的界面,如 Qt 开发 Android,通常都是选用 QML 来实现。
而 Python,2018最火的编程语言非它莫属了吧,Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,它具有非常强的可拓展性,可以说只有想不到,没有 Python 做不到的,就是这么牛哄哄。

既然这两者都各有千秋,那么一直想着 把 Python 和 QML 结合起来,这两者一定会擦出不一样的火花。

OK,又日常啰嗦了几句。那么今天就来看看如何使用 PySide2和 QML来写一个最简单的入门程序。只要知道开头怎么走,那么后续更复杂的程序就可以在此基础上进行不断扩展啦。

开始正文

PySide2的安装就不单独说了,为什么是PySide2呢,因为它支持 Qt5,就是这么简单。

需要准备两个文件, 一个是 QML 实现界面,一个是 Python 实现界面的调用。

首先,我们准备一个 QML 简单的界面,既然是入门程序,那就写个所有程序员都能意会的 “hello world” 吧。

import QtQuick 2.0
Rectangle{width:300height:300color:"cyan"Text{text:"Hello world"anchors.centerIn:parent}
}

OK,紧接着来看看如何在 Python 文件中对 QML 界面进行调用。

from PySide2.QtWidgets import QApplication
from PySide2.QtQuick import QQuickView
from PySide2.QtCore import QUrlapp = QApplication([])
view = QQuickView()
url = QUrl("view.qml")
view.setSource(url)
view.show()
app.exec_()

完结了,两个文件一定要放在同一个目录中,qml引用路径是在当前目录。运行 Python 文件,看看效果。

Qt for Python之 PySide2+QML 入门示例相关推荐

  1. python爬虫入门实例-终于领会python爬虫入门示例

    随着人工智能 大数据的火热 Python成为了广大科学家和普通大众的学习语言.在学习Python的过程中 有很多人感到迷茫 不知道自己该从什么地方入手,今天我们就来说一些新手该如何学习Python编程 ...

  2. linux pyside2 安装包,Qt for Python 5.12发布下载,附PySide2和Shiboken2介绍

    Qt for Python 5.12(全称 Qt for Python for Qt 5.12) 发布下载了,这是一个没有 LTS 支持的版本,在终端中执行 pip install PySide2 命 ...

  3. QT 定时关机、共享内存、启动浏览器、浏览器前进后退刷新、进度条、设置浏览器标题、QML入门

    定时关机 .h #include <QTimer> #include <stdlib.h> #include <QByteArray>//构造函数 //system ...

  4. python qt 按钮_Python QtWidgets.QPushButton方法代码示例

    本文整理汇总了Python中PySide2.QtWidgets.QPushButton方法的典型用法代码示例.如果您正苦于以下问题:Python QtWidgets.QPushButton方法的具体用 ...

  5. Python界面编程第八课:Pyside2 (Qt For Python)打开关于窗口

    先上代码: from PySide2.QtWidgets import QApplication, QWidget, QMessageBox, QPushButton import sys from ...

  6. 电脑内存硬盘查看器(C++、QT版本和Python、PySide2版本)

    电脑内存硬盘查看器[序列号和容量](C++.QT版本和Python.PySide2版本) 由于最近有人问我电脑查看内存卡序列号和硬盘序列号的方式,我告诉他用WMIC指令查看,结果人家告诉我麻烦,于是我 ...

  7. Python界面编程第十三课:Pyside2 (Qt For Python)GridLayout网格布局

    GridLayout 是什么? QGridLayout 是控制网格布局的类. QGridLayout 会占据它的可用空间(通过父布局或parentWidget(),将其划分为行和列,并将其管理的每个控 ...

  8. Python界面编程第七课:Pyside2 (Qt For Python)窗口居中

    先上代码: from PySide2.QtWidgets import QApplication, QWidget, QDesktopWidget import sys from PySide2.Qt ...

  9. Python界面编程第九课:Pyside2 (Qt For Python)创建数字时钟

    先上代码: from PySide2.QtWidgets import QApplication, QWidget, QLCDNumber from PySide2.QtCore import QTi ...

最新文章

  1. C语言清空输入缓冲区的N种方法对比
  2. 计算机二级第十七套真题,2012年计算机二级VB第十七套上机试题及解析.doc
  3. 官宣:程序员被纳入新生代农民工!
  4. 服务器开一个无限循环的线程可以吗,如何使用无限循环的目标函数创建一个可停止的线程...
  5. Selenium3+python自动化009- 多选框
  6. Python 代码混淆和加密技术
  7. iOS获取label的高度模仿博友
  8. Oracle数据库数据恢复方法
  9. chrome启动参数
  10. Spring Boot源码简析 @EnableTransactionManagement
  11. 用PhotoShop快速给证件照排版
  12. MFC求一元二次方程的根(三种情况:相同根,不同根,虚根)
  13. 【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part5-完结):信息检索与结果组装
  14. SM4国密算法实现分析
  15. Flowable 6.6.0 BPMN用户指南 -10 流程实例迁移 - 10.1 简单示例
  16. 如何压缩带有mdw安全文件机制和密码的的access数据库
  17. python计算列表元素之和,python实现计算列表元素之和
  18. 程序员如何在“小公司成长”和“大公司学习”
  19. MFC 让对话框不显示在任务栏和桌面
  20. linux 命令:tar 详解

热门文章

  1. 视频通信关键技术探索及实践
  2. 项目管理 - 学习总目录
  3. Windows Server 2016 TP5下载及测试序列号
  4. 创建分辨率自适应的Windows Phone 8应用程序
  5. openssl加密http网站过程1
  6. PB级分布式大数据的处理和分析应用
  7. ActiveMQ持久化方式(转)
  8. ORACLE HANDBOOK系列之九:时间与时区(Time and Time Zone)
  9. linux cut 命令(转)
  10. NOD32升级ID自动填写工具+更新版1.754