Qt for Python之 PySide2+QML 入门示例
日常啰嗦
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 入门示例相关推荐
- python爬虫入门实例-终于领会python爬虫入门示例
随着人工智能 大数据的火热 Python成为了广大科学家和普通大众的学习语言.在学习Python的过程中 有很多人感到迷茫 不知道自己该从什么地方入手,今天我们就来说一些新手该如何学习Python编程 ...
- 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 命 ...
- QT 定时关机、共享内存、启动浏览器、浏览器前进后退刷新、进度条、设置浏览器标题、QML入门
定时关机 .h #include <QTimer> #include <stdlib.h> #include <QByteArray>//构造函数 //system ...
- python qt 按钮_Python QtWidgets.QPushButton方法代码示例
本文整理汇总了Python中PySide2.QtWidgets.QPushButton方法的典型用法代码示例.如果您正苦于以下问题:Python QtWidgets.QPushButton方法的具体用 ...
- Python界面编程第八课:Pyside2 (Qt For Python)打开关于窗口
先上代码: from PySide2.QtWidgets import QApplication, QWidget, QMessageBox, QPushButton import sys from ...
- 电脑内存硬盘查看器(C++、QT版本和Python、PySide2版本)
电脑内存硬盘查看器[序列号和容量](C++.QT版本和Python.PySide2版本) 由于最近有人问我电脑查看内存卡序列号和硬盘序列号的方式,我告诉他用WMIC指令查看,结果人家告诉我麻烦,于是我 ...
- Python界面编程第十三课:Pyside2 (Qt For Python)GridLayout网格布局
GridLayout 是什么? QGridLayout 是控制网格布局的类. QGridLayout 会占据它的可用空间(通过父布局或parentWidget(),将其划分为行和列,并将其管理的每个控 ...
- Python界面编程第七课:Pyside2 (Qt For Python)窗口居中
先上代码: from PySide2.QtWidgets import QApplication, QWidget, QDesktopWidget import sys from PySide2.Qt ...
- Python界面编程第九课:Pyside2 (Qt For Python)创建数字时钟
先上代码: from PySide2.QtWidgets import QApplication, QWidget, QLCDNumber from PySide2.QtCore import QTi ...
最新文章
- C语言清空输入缓冲区的N种方法对比
- 计算机二级第十七套真题,2012年计算机二级VB第十七套上机试题及解析.doc
- 官宣:程序员被纳入新生代农民工!
- 服务器开一个无限循环的线程可以吗,如何使用无限循环的目标函数创建一个可停止的线程...
- Selenium3+python自动化009- 多选框
- Python 代码混淆和加密技术
- iOS获取label的高度模仿博友
- Oracle数据库数据恢复方法
- chrome启动参数
- Spring Boot源码简析 @EnableTransactionManagement
- 用PhotoShop快速给证件照排版
- MFC求一元二次方程的根(三种情况:相同根,不同根,虚根)
- 【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part5-完结):信息检索与结果组装
- SM4国密算法实现分析
- Flowable 6.6.0 BPMN用户指南 -10	流程实例迁移 - 10.1	简单示例
- 如何压缩带有mdw安全文件机制和密码的的access数据库
- python计算列表元素之和,python实现计算列表元素之和
- 程序员如何在“小公司成长”和“大公司学习”
- MFC 让对话框不显示在任务栏和桌面
- linux 命令:tar 详解