【Qt for Python官方教程】常见文件格式

开发 Qt for Python 应用程序会遇到很多不同的文件类型:ui, qrc, qml, pyproject 等。下面分别简单介绍一下它们。

Python文件 .py

在开发 Qt for Python 项目时,Python 文件是你最常遇见的文件格式。

值得注意的是,你可以抛开 .ui, .qrc, .qml 文件,只用 Python 文件来编写程序。但是使用这些格式可以帮你简化一些开发流程,并为你的应用程序实现一些新功能。

class MyWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)

        self.hello = ["Hallo Welt", "你好,世界", "Hei maailma",
            "Hola Mundo", "Привет мир"]

        self.button = QPushButton("Click me!")
        self.text = QLabel("Hello World")
        self.text.setAlignment(Qt.AlignCenter)
        # ...

用户界面定义文件 .ui

如果你使用 Qt Designer,你可以在编辑器里可视化地创建交互界面。定义交互界面的文件会用 XML 语言表示为一个组件树。下面是 .ui 文件开头的样例:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget">
...

使用 pyside6-uic 工具可以将这些 .ui 文件转换为 Python 代码,让你可以在主函数中引用这些代码。所以在你部署的应用程序中包含 .ui 文件并不是必需的。

资源集合文件 .qrc

资源集合文件是一个伴随着你的应用程序的二进制文件列表。作为一个基于 XML 的文件,它的结构是这样的:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>images/quit.png</file>
    <file>font/myfont.ttf</file>
</qresource>
</RCC>

使用 pyside6-rcc 工具将这些 .qrc 文件转换为 Python 代码,这样你就不需要在你部署的应用程序中包含 .qrc 文件。

Qt 建模语言文件 .qml

用 QML 编写的图形应用程序与 Qt Widget 应用程序无关,所以 QML 项目通常是用 Python 文件来加载 QML 文件,或者可以将在 Python 中定义的元素引入到要使用的 QML。

你可以手动编写 .qml 文件,也可以使用嵌入在 Qt Creator 中的 QML Designer 等工具。此外,还有一些商业工具(比如 Qt Design Studio)可以让你加载来自其他设计软件的设计。

下面是 .qml 文件的示例代码。这段代码会显示一个浅灰色长方形,上面写着 “Hello World!”。

import QtQuick 2.0

Rectangle {
    id: page
    width: 320;
    height: 480
    color: "lightgray"

    Text {
        id: helloText
        text: "Hello world!"
        y: 30
        anchors.horizontalCenter: page.horizontalCenter
        font.pointSize: 24;
        font.bold: true
    }
}

Qt Creator Python项目文件 .pyproject

Qt Creator 加载和处理基于 Python 的项目,需要一个特殊的文件。因为基于 C++ 的项目可以用 .qmake 或者 CMakeLists.txt 文件来处理,但是 Python 项目不行。

旧版本的 Qt Creator 提供了一个简单的格式,扩展名为 .pyqtc。这是一个每个文件名一行的纯文本文件:

library/server.py
library/client.py
logger.py
...

这个格式存在限制,且不支持进一步可能添加的选项,这就是为什么要创建 .pyproject 文件的原因。该文件是基于 JSON 的文件,可以添加更多选项。下面是 .pyproject 文件的示例:

{
    "files": ["library/server.py", "library/client.py", "logger.py", ...]
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值