本文将讲解如何在 PyQt4 程序中调用 QML。
QML 简介
QML 又称 Qt 元对象语言或 Qt 建模语言,是基于 JavaScript 的描述性语言,常用于设计用户界面。详细介绍见于 QML 维基百科。
QML 示例
编辑 hello.qml,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13
| import QtQuick 1.0
Rectangle { id: page width: 500; height: 200 color: "lightgray" Text { id: helloText text: "Hello QML & PyQt4" font.pointSize: 24; font.bold: true anchors.centerIn: parent } }
|
解析
第一行是 qml 脚本中约定俗成的。Rectangle 定义了一个 500 x 200 的矩形区域,其背景颜色为浅灰色。Text 中定义了一个文本字符串“Hello QML & PyQt4”,字体大小为24,黑体。
PyQt4 调用 QML
编辑 pyqt-qml.py,文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
import sys from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtDeclarative import QDeclarativeView
if __name__ == "__main__": app = QApplication(sys.argv)
view = QDeclarativeView() view.setSource(QUrl('hello.qml')) view.setResizeMode(QDeclarativeView.SizeRootObjectToView) view.show()
sys.exit(app.exec_())
|
运行 pyqt-qml.py,界面如下:
附:截图中所显示的与文中的 QML 略有不同,截图代码见于 pyqt-qml