Qt Quick中PySide2使用qrc文件

使用步骤

创建一个 resource.qrc 文件

1
2
3
4
5
6
<RCC>
<qresource prefix="/">
<file>qtquickcontrols2.conf</file>
<file>images/images.png</file>
</qresource>
</RCC>

转换 .qrc

1
pyside2-rcc resource.qrc -o resource.py

引用 resource.py

1
2
# 在程序内引用
import resource

在程序中引用文件的地方, 更换路径

1
:/images/images.png

多国语言, 可以在 qresource 标签的 lang 属性指定

1
2
3
4
5
6
7
8
<RCC>
<qresource>
<file>image.jpg</file>
</qresource>
<qresource lang="en">
<file alias="image.jpg">image_en.jpg</file>
</qresource>
</RCC>

加载QML文件

文件添加到 resource.qrc 文件

1
2
3
4
5
<RCC>
<qresource prefix="/">
<file>main.qml</file>
</qresource>
</RCC>

转换 .qrc

1
pyside2-rcc resource.qrc -o resource.py

程序内引用 resource.py

1
import resource

把原来的

1
engine.load(QUrl.fromLocalFile('./main.qml'))

修改为

1
engine.load(QUrl.fromLocalFile(':/main.qml'))

或者

1
engine.load(QUrl('qrc:/main.qml'))

加载样式配置

qml中引用控件库

1
import QtQuick.Controls 2.14

项目根目录中添加qtquickcontrols2.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Controls]
Style=Material

[Universal]
Theme=System
Accent=Red

[Material]
Theme=Light
Accent=Teal
Primary=BlueGrey

[Material\Font]
Family=Microsoft YaHei
PixelSize=20

字体可用值

字体直接写中文名称不生效

常用字体的英文名称

宋体 SimSun

黑体 SimHei

微软雅黑 Microsoft YaHei

微软正黑体 Microsoft JhengHei

新宋体 NSimSun

新细明体 PMingLiU

细明体 MingLiU

标楷体 DFKai-SB

仿宋 FangSong

楷体 KaiTi

样式可用值

Default

img

Fusion

img

Imagine

img

Material

img

Universal

img

设置VSCode任务

项目根目录创建.vscode文件夹

添加文件tasks.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"version": "2.0.0",
"tasks": [
{
"label": "主页面",
"type": "shell",
"command": "python main.py",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

运行任务直接用快捷键Ctrl+Shift+B

运行时再点击快捷键Ctrl+Shift+B可以选择重启任务或者终止任务