Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
k54kdk
PyQt Fluent Widgets
提交
0cc60069
P
PyQt Fluent Widgets
项目概览
k54kdk
/
PyQt Fluent Widgets
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PyQt Fluent Widgets
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
0cc60069
编写于
5月 07, 2023
作者:
之一Yo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加进度条
上级
18d76fd6
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
208749 addition
and
208424 deletion
+208749
-208424
examples/gallery/app/common/resource.py
examples/gallery/app/common/resource.py
+208374
-208321
examples/gallery/app/resource/i18n/gallery.zh_CN.qm
examples/gallery/app/resource/i18n/gallery.zh_CN.qm
+0
-0
examples/gallery/app/resource/i18n/gallery.zh_CN.ts
examples/gallery/app/resource/i18n/gallery.zh_CN.ts
+66
-51
examples/gallery/app/resource/i18n/gallery.zh_HK.qm
examples/gallery/app/resource/i18n/gallery.zh_HK.qm
+0
-0
examples/gallery/app/resource/i18n/gallery.zh_HK.ts
examples/gallery/app/resource/i18n/gallery.zh_HK.ts
+65
-50
examples/gallery/app/resource/qss/dark/gallery_interface.qss
examples/gallery/app/resource/qss/dark/gallery_interface.qss
+5
-0
examples/gallery/app/resource/qss/light/gallery_interface.qss
...ples/gallery/app/resource/qss/light/gallery_interface.qss
+5
-0
examples/gallery/app/view/home_interface.py
examples/gallery/app/view/home_interface.py
+8
-0
examples/gallery/app/view/status_info_interface.py
examples/gallery/app/view/status_info_interface.py
+38
-2
examples/progress_bar/demo.py
examples/progress_bar/demo.py
+34
-0
qfluentwidgets/components/widgets/__init__.py
qfluentwidgets/components/widgets/__init__.py
+1
-0
qfluentwidgets/components/widgets/progress_bar.py
qfluentwidgets/components/widgets/progress_bar.py
+153
-0
未找到文件。
examples/gallery/app/common/resource.py
浏览文件 @
0cc60069
此差异已折叠。
点击以展开。
examples/gallery/app/resource/i18n/gallery.zh_CN.qm
浏览文件 @
0cc60069
无法预览此类型文件
examples/gallery/app/resource/i18n/gallery.zh_CN.ts
浏览文件 @
0cc60069
...
@@ -906,225 +906,240 @@
...
@@ -906,225 +906,240 @@
<
context
>
<
context
>
<
name
>
StatusInfoInterface
<
/name
>
<
name
>
StatusInfoInterface
<
/name
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
8
"
/>
<
source
>
State
tool
tip
<
/source
>
<
source
>
State
tool
tip
<
/source
>
<
translation
>
进度提示条
<
/translation
>
<
translation
>
进度提示条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
4
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
4
8
"
/>
<
source
>
Label
with
a
ToolTip
<
/source
>
<
source
>
Label
with
a
ToolTip
<
/source
>
<
translation
>
多看一眼就会爆炸
<
/translation
>
<
translation
>
多看一眼就会爆炸
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
0
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
1
"
/>
<
source
>
A
label
with
a
ToolTip
<
/source
>
<
source
>
A
label
with
a
ToolTip
<
/source
>
<
translation
>
带有工具提示的标签
<
/translation
>
<
translation
>
带有工具提示的标签
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
45
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
81
"
/>
<
source
>
Show
StateToolTip
<
/source
>
<
source
>
Show
StateToolTip
<
/source
>
<
translation
>
显示进度提示条
<
/translation
>
<
translation
>
显示进度提示条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
5
"
/>
<
source
>
Button
with
a
simple
ToolTip
<
/source
>
<
source
>
Button
with
a
simple
ToolTip
<
/source
>
<
translation
>
带有工具提示的按钮
<
/translation
>
<
translation
>
带有工具提示的按钮
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
6
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
7
"
/>
<
source
>
Simple
ToolTip
<
/source
>
<
source
>
Simple
ToolTip
<
/source
>
<
translation
>
简单工具提示
<
/translation
>
<
translation
>
简单工具提示
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
43
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
79
"
/>
<
source
>
The
model
training
is
complete
!<
/source
>
<
source
>
The
model
training
is
complete
!<
/source
>
<
translation
>
模型训练完成啦
!
<
/translation
>
<
translation
>
模型训练完成啦
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
49
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
85
"
/>
<
source
>
Training
model
<
/source
>
<
source
>
Training
model
<
/source
>
<
translation
>
正在训练模型
<
/translation
>
<
translation
>
正在训练模型
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
49
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
85
"
/>
<
source
>
Please
wait
patiently
<
/source
>
<
source
>
Please
wait
patiently
<
/source
>
<
translation
>
心急吃不了热豆腐
,
请耐心等待哦
~<
/translation
>
<
translation
>
心急吃不了热豆腐
,
请耐心等待哦
~<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
51
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
87
"
/>
<
source
>
Hide
StateToolTip
<
/source
>
<
source
>
Hide
StateToolTip
<
/source
>
<
translation
>
隐藏进度提示条
<
/translation
>
<
translation
>
隐藏进度提示条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
8
"
/>
<
source
>
Success
<
/source
>
<
source
>
Success
<
/source
>
<
translation
>
成功
<
/translation
>
<
translation
>
成功
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
6
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
6
8
"
/>
<
source
>
A
closable
InfoBar
<
/source
>
<
source
>
A
closable
InfoBar
<
/source
>
<
translation
>
可关闭的消息条
<
/translation
>
<
translation
>
可关闭的消息条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
6
"
/>
<
source
>
Warning
<
/source
>
<
source
>
Warning
<
/source
>
<
translation
>
警告
<
/translation
>
<
translation
>
警告
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
8
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
8
6
"
/>
<
source
>
A
closable
InfoBar
with
long
message
<
/source
>
<
source
>
A
closable
InfoBar
with
long
message
<
/source
>
<
translation
>
可关闭的长消息条
<
/translation
>
<
translation
>
可关闭的长消息条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
2
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
3
"
/>
<
source
>
GitHub
<
/source
>
<
source
>
GitHub
<
/source
>
<
translation
>
GitHub
<
/translation
>
<
translation
>
GitHub
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
2
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
3
"
/>
<
source
>
When
you
look
long
into
an
abyss
,
the
abyss
looks
into
you
.
<
/source
>
<
source
>
When
you
look
long
into
an
abyss
,
the
abyss
looks
into
you
.
<
/source
>
<
translation
>
当你长时间凝视深渊时
,
深渊也在凝视你
。
<
/translation
>
<
translation
>
当你长时间凝视深渊时
,
深渊也在凝视你
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
5
"
/>
<
source
>
An
InfoBar
with
custom
icon
,
background
color
and
widget
.
<
/source
>
<
source
>
An
InfoBar
with
custom
icon
,
background
color
and
widget
.
<
/source
>
<
translation
>
自定义图标
、
背景和小部件的消息条
<
/translation
>
<
translation
>
自定义图标
、
背景和小部件的消息条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
13
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
13
6
"
/>
<
source
>
InfoBar
with
different
pop
-
up
locations
<
/source
>
<
source
>
InfoBar
with
different
pop
-
up
locations
<
/source
>
<
translation
>
不同弹出位置的消息条
<
/translation
>
<
translation
>
不同弹出位置的消息条
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
190
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
226
"
/>
<
source
>
No
Internet
<
/source
>
<
source
>
No
Internet
<
/source
>
<
translation
>
无网络连接
<
/translation
>
<
translation
>
无网络连接
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
168
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
204
"
/>
<
source
>
Lesson
4
<
/source
>
<
source
>
Lesson
4
<
/source
>
<
translation
>
Lesson
4
<
/translation
>
<
translation
>
Lesson
4
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
179
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
215
"
/>
<
source
>
Lesson
5
<
/source
>
<
source
>
Lesson
5
<
/source
>
<
translation
>
Lesson
5
<
/translation
>
<
translation
>
Lesson
5
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
5
"
/>
<
source
>
My
name
is
kira
yoshikake
,
33
years
old
.
Living
in
the
villa
area
northeast
of
duwangting
,
unmarried
.
I
work
in
Guiyou
chain
store
.
Every
day
I
have
to
work
overtime
until
8
p
.
m
.
to
go
home
.
I
don
&
apos
;
t
smoke
.
The
wine
is
only
for
a
taste
.
Sleep
at
11
p
.
m
.
for
8
hours
a
day
.
Before
I
go
to
bed
,
I
must
drink
a
cup
of
warm
milk
,
then
do
20
minutes
of
soft
exercise
,
get
on
the
bed
,
and
immediately
fall
asleep
.
Never
leave
fatigue
and
stress
until
the
next
day
.
Doctors
say
I
&
apos
;
m
normal
.
<
/source
>
<
source
>
My
name
is
kira
yoshikake
,
33
years
old
.
Living
in
the
villa
area
northeast
of
duwangting
,
unmarried
.
I
work
in
Guiyou
chain
store
.
Every
day
I
have
to
work
overtime
until
8
p
.
m
.
to
go
home
.
I
don
&
apos
;
t
smoke
.
The
wine
is
only
for
a
taste
.
Sleep
at
11
p
.
m
.
for
8
hours
a
day
.
Before
I
go
to
bed
,
I
must
drink
a
cup
of
warm
milk
,
then
do
20
minutes
of
soft
exercise
,
get
on
the
bed
,
and
immediately
fall
asleep
.
Never
leave
fatigue
and
stress
until
the
next
day
.
Doctors
say
I
&
apos
;
m
normal
.
<
/source
>
<
translation
>
我的名字
叫吉良吉影
,
33
岁
。
住在杜王町东北部的别墅区一带
,
未婚
。
我在龟友连锁店服务
。
每天都要加班到晚上8点才能回家
。
我不抽烟
,
酒仅止于浅尝
。
晚上11点睡
,
每天要睡足8个小时
。
睡前
,
我一定喝一杯温牛奶
,
然后做20分钟的柔软操
,
上了床
,
马上熟睡
。
一觉到天亮
,
决不把疲劳和压力留到第二天
。
医生都说我很正常
。
<
/translation
>
<
translation
>
我的名字
是吉良吉影
,
年龄33岁
,
家住杜王町东北部别墅区
,
未婚
。
我在
“
龟友百货连锁公司
”
上班
,
每天最晚也是八点前回家
,
不吸烟
,
酒也是浅尝辄止
,
晚上十一点上床
,
保证八个小时的充足睡眠
,
睡前喝一杯热牛奶
,
再做二十分钟伸展运动暖身
,
然后再睡觉
,
基本可以熟睡到天亮
。
像婴儿一样不留下疲劳与压力
,
迎来第二天的早晨
,
健康检查结果也显示我很健康
。
我的意思是我是一个随时都想追求平静生活的人
,
不拘泥于胜负与烦恼
,
不树立令我夜不能寐的敌人
,
这就是我对于这个社会的生活态度
,
我也清楚这就是我的幸福
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
56
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
92
"
/>
<
source
>
Lesson
3
<
/source
>
<
source
>
Lesson
3
<
/source
>
<
translation
>
Lesson
3
<
/translation
>
<
translation
>
Lesson
3
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
56
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
92
"
/>
<
source
>
Believe
in
the
spin
,
just
keep
believing
!<
/source
>
<
source
>
Believe
in
the
spin
,
just
keep
believing
!<
/source
>
<
translation
>
相信回旋吧
,
只管相信就是了
!
<
/translation
>
<
translation
>
相信回旋吧
,
只管相信就是了
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
168
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
204
"
/>
<
source
>
With
respect
,
let
&
apos
;
s
advance
towards
a
new
stage
of
the
spin
.
<
/source
>
<
source
>
With
respect
,
let
&
apos
;
s
advance
towards
a
new
stage
of
the
spin
.
<
/source
>
<
translation
>
表达敬意吧
,
表达出敬意
,
然后迈向回旋的另一个全新阶段
!
<
/translation
>
<
translation
>
表达敬意吧
,
表达出敬意
,
然后迈向回旋的另一个全新阶段
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
179
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
215
"
/>
<
source
>
迂回路を行けば最短ルート
。
<
/source
>
<
source
>
迂回路を行けば最短ルート
。
<
/source
>
<
translation
>
最短的捷径就是绕远路
,
绕远路才是我的最短捷径
。
<
/translation
>
<
translation
>
最短的捷径就是绕远路
,
绕远路才是我的最短捷径
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
190
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
226
"
/>
<
source
>
An
error
message
which
won
&
apos
;
t
disappear
automatically
.
<
/source
>
<
source
>
An
error
message
which
won
&
apos
;
t
disappear
automatically
.
<
/source
>
<
translation
>
一条不会自动消失的消息
。
<
/translation
>
<
translation
>
一条不会自动消失的消息
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
8
"
/>
<
source
>
The
Anthem
of
man
is
the
Anthem
of
courage
.
<
/source
>
<
source
>
The
Anthem
of
man
is
the
Anthem
of
courage
.
<
/source
>
<
translation
>
人类的赞歌就是勇气的赞歌
!
<
/translation
>
<
translation
>
人类的赞歌就是勇气的赞歌
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
2
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
3
"
/>
<
source
>
Action
<
/source
>
<
source
>
Action
<
/source
>
<
translation
><
/translation
>
<
translation
><
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
3
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
4
"
/>
<
source
>
Top
right
<
/source
>
<
source
>
Top
right
<
/source
>
<
translation
>
右上角
<
/translation
>
<
translation
>
右上角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
5
"
/>
<
source
>
Top
<
/source
>
<
source
>
Top
<
/source
>
<
translation
>
顶部居中
<
/translation
>
<
translation
>
顶部居中
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
6
"
/>
<
source
>
Top
left
<
/source
>
<
source
>
Top
left
<
/source
>
<
translation
>
左上角
<
/translation
>
<
translation
>
左上角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
6
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
7
"
/>
<
source
>
Bottom
right
<
/source
>
<
source
>
Bottom
right
<
/source
>
<
translation
>
右下角
<
/translation
>
<
translation
>
右下角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
8
"
/>
<
source
>
Bottom
<
/source
>
<
source
>
Bottom
<
/source
>
<
translation
>
底部居中
<
/translation
>
<
translation
>
底部居中
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
8
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
9
"
/>
<
source
>
Bottom
left
<
/source
>
<
source
>
Bottom
left
<
/source
>
<
translation
>
左下角
<
/translation
>
<
translation
>
左下角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
01
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
37
"
/>
<
source
>
Lesson
1
<
/source
>
<
source
>
Lesson
1
<
/source
>
<
translation
>
Lesson
1
<
/translation
>
<
translation
>
Lesson
1
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
01
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
37
"
/>
<
source
>
Don
&
apos
;
t
have
any
strange
expectations
of
me
.
<
/source
>
<
source
>
Don
&
apos
;
t
have
any
strange
expectations
of
me
.
<
/source
>
<
translation
>
别对我抱有什么奇怪的期待
<
/translation
>
<
translation
>
别对我抱有什么奇怪的期待
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
12
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
48
"
/>
<
source
>
Lesson
2
<
/source
>
<
source
>
Lesson
2
<
/source
>
<
translation
>
Lesson
2
<
/translation
>
<
translation
>
Lesson
2
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
12
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
48
"
/>
<
source
>
Don
&
apos
;
t
let
your
muscles
notice
.
<
/source
>
<
source
>
Don
&
apos
;
t
let
your
muscles
notice
.
<
/source
>
<
translation
>
不要让肌肉察觉
<
/translation
>
<
translation
>
不要让肌肉察觉
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
145
"
/>
<
source
>
An
indeterminate
progress
bar
<
/source
>
<
translation
>
不确定进度条
<
/translation
>
<
/message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
165
"
/>
<
source
>
Progress
<
/source
>
<
translation
>
进度
<
/translation
>
<
/message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
170
"
/>
<
source
>
An
determinate
progress
bar
<
/source
>
<
translation
>
确定的进度条
<
/translation
>
<
/message
>
<
/context
>
<
/context
>
<
context
>
<
context
>
<
name
>
TableFrame
<
/name
>
<
name
>
TableFrame
<
/name
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Title
<
/source
>
<
source
>
Title
<
/source
>
<
translation
>
标题
<
/translation
>
<
translation
>
标题
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Artist
<
/source
>
<
source
>
Artist
<
/source
>
<
translation
>
歌手
<
/translation
>
<
translation
>
歌手
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Album
<
/source
>
<
source
>
Album
<
/source
>
<
translation
>
专辑
<
/translation
>
<
translation
>
专辑
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Year
<
/source
>
<
source
>
Year
<
/source
>
<
translation
>
年份
<
/translation
>
<
translation
>
年份
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Duration
<
/source
>
<
source
>
Duration
<
/source
>
<
translation
>
时长
<
/translation
>
<
translation
>
时长
<
/translation
>
<
/message
>
<
/message
>
...
@@ -1256,32 +1271,32 @@
...
@@ -1256,32 +1271,32 @@
<
context
>
<
context
>
<
name
>
TreeFrame
<
/name
>
<
name
>
TreeFrame
<
/name
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
5
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
7
"
/>
<
source
>
JoJo
1
-
Phantom
Blood
<
/source
>
<
source
>
JoJo
1
-
Phantom
Blood
<
/source
>
<
translation
>
JoJo
1
-
幻影之血
<
/translation
>
<
translation
>
JoJo
1
-
幻影之血
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
8
"
/>
<
source
>
Jonathan
Joestar
<
/source
>
<
source
>
Jonathan
Joestar
<
/source
>
<
translation
>
乔纳森
·
乔斯达
<
/translation
>
<
translation
>
乔纳森
·
乔斯达
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
8
"
/>
<
source
>
Dio
Brando
<
/source
>
<
source
>
Dio
Brando
<
/source
>
<
translation
>
迪奥
·
布兰度
<
/translation
>
<
translation
>
迪奥
·
布兰度
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
8
"
/>
<
source
>
Will
A
.
Zeppeli
<
/source
>
<
source
>
Will
A
.
Zeppeli
<
/source
>
<
translation
>
威廉
·
A
·
齐贝林
<
/translation
>
<
translation
>
威廉
·
A
·
齐贝林
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
3
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
5
"
/>
<
source
>
JoJo
3
-
Stardust
Crusaders
<
/source
>
<
source
>
JoJo
3
-
Stardust
Crusaders
<
/source
>
<
translation
>
JoJo3
-
星尘斗士
<
/translation
>
<
translation
>
JoJo3
-
星尘斗士
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
4
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
6
"
/>
<
source
>
Jotaro
Kujo
<
/source
>
<
source
>
Jotaro
Kujo
<
/source
>
<
translation
><
/translation
>
<
translation
><
/translation
>
<
/message
>
<
/message
>
...
...
examples/gallery/app/resource/i18n/gallery.zh_HK.qm
浏览文件 @
0cc60069
无法预览此类型文件
examples/gallery/app/resource/i18n/gallery.zh_HK.ts
浏览文件 @
0cc60069
...
@@ -906,225 +906,240 @@
...
@@ -906,225 +906,240 @@
<
context
>
<
context
>
<
name
>
StatusInfoInterface
<
/name
>
<
name
>
StatusInfoInterface
<
/name
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
8
"
/>
<
source
>
State
tool
tip
<
/source
>
<
source
>
State
tool
tip
<
/source
>
<
translation
>
進度提示條
<
/translation
>
<
translation
>
進度提示條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
4
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
4
8
"
/>
<
source
>
Label
with
a
ToolTip
<
/source
>
<
source
>
Label
with
a
ToolTip
<
/source
>
<
translation
>
多看一眼就會爆炸
<
/translation
>
<
translation
>
多看一眼就會爆炸
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
0
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
1
"
/>
<
source
>
A
label
with
a
ToolTip
<
/source
>
<
source
>
A
label
with
a
ToolTip
<
/source
>
<
translation
>
帶有工具提示的標籤
<
/translation
>
<
translation
>
帶有工具提示的標籤
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
45
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
81
"
/>
<
source
>
Show
StateToolTip
<
/source
>
<
source
>
Show
StateToolTip
<
/source
>
<
translation
>
顯示進度提示條
<
/translation
>
<
translation
>
顯示進度提示條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
5
"
/>
<
source
>
Button
with
a
simple
ToolTip
<
/source
>
<
source
>
Button
with
a
simple
ToolTip
<
/source
>
<
translation
>
帶有工具提示的按鈕
<
/translation
>
<
translation
>
帶有工具提示的按鈕
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
6
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
3
7
"
/>
<
source
>
Simple
ToolTip
<
/source
>
<
source
>
Simple
ToolTip
<
/source
>
<
translation
>
簡單工具提示
<
/translation
>
<
translation
>
簡單工具提示
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
43
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
79
"
/>
<
source
>
The
model
training
is
complete
!<
/source
>
<
source
>
The
model
training
is
complete
!<
/source
>
<
translation
>
模型訓練完成啦
!
<
/translation
>
<
translation
>
模型訓練完成啦
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
49
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
85
"
/>
<
source
>
Training
model
<
/source
>
<
source
>
Training
model
<
/source
>
<
translation
>
正在訓練模型
<
/translation
>
<
translation
>
正在訓練模型
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
49
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
85
"
/>
<
source
>
Please
wait
patiently
<
/source
>
<
source
>
Please
wait
patiently
<
/source
>
<
translation
>
心急吃不了熱豆腐
,
請耐心等待哦
~<
/translation
>
<
translation
>
心急吃不了熱豆腐
,
請耐心等待哦
~<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
51
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
87
"
/>
<
source
>
Hide
StateToolTip
<
/source
>
<
source
>
Hide
StateToolTip
<
/source
>
<
translation
>
隱藏進度提示條
<
/translation
>
<
translation
>
隱藏進度提示條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
8
"
/>
<
source
>
Success
<
/source
>
<
source
>
Success
<
/source
>
<
translation
>
成功
<
/translation
>
<
translation
>
成功
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
6
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
6
8
"
/>
<
source
>
A
closable
InfoBar
<
/source
>
<
source
>
A
closable
InfoBar
<
/source
>
<
translation
>
可關閉的消息條
<
/translation
>
<
translation
>
可關閉的消息條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
6
"
/>
<
source
>
Warning
<
/source
>
<
source
>
Warning
<
/source
>
<
translation
>
警告
<
/translation
>
<
translation
>
警告
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
8
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
8
6
"
/>
<
source
>
A
closable
InfoBar
with
long
message
<
/source
>
<
source
>
A
closable
InfoBar
with
long
message
<
/source
>
<
translation
>
可關閉的長消息條
<
/translation
>
<
translation
>
可關閉的長消息條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
2
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
3
"
/>
<
source
>
GitHub
<
/source
>
<
source
>
GitHub
<
/source
>
<
translation
>
GitHub
<
/translation
>
<
translation
>
GitHub
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
2
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
9
3
"
/>
<
source
>
When
you
look
long
into
an
abyss
,
the
abyss
looks
into
you
.
<
/source
>
<
source
>
When
you
look
long
into
an
abyss
,
the
abyss
looks
into
you
.
<
/source
>
<
translation
>
當你長時間凝視深淵時
,
深淵也在凝視你
。
<
/translation
>
<
translation
>
當你長時間凝視深淵時
,
深淵也在凝視你
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
5
"
/>
<
source
>
An
InfoBar
with
custom
icon
,
background
color
and
widget
.
<
/source
>
<
source
>
An
InfoBar
with
custom
icon
,
background
color
and
widget
.
<
/source
>
<
translation
>
自定義圖標
、
背景和小部件的消息條
<
/translation
>
<
translation
>
自定義圖標
、
背景和小部件的消息條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
13
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
13
6
"
/>
<
source
>
InfoBar
with
different
pop
-
up
locations
<
/source
>
<
source
>
InfoBar
with
different
pop
-
up
locations
<
/source
>
<
translation
>
不同彈出位置的消息條
<
/translation
>
<
translation
>
不同彈出位置的消息條
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
190
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
226
"
/>
<
source
>
No
Internet
<
/source
>
<
source
>
No
Internet
<
/source
>
<
translation
>
無網絡連接
<
/translation
>
<
translation
>
無網絡連接
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
168
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
204
"
/>
<
source
>
Lesson
4
<
/source
>
<
source
>
Lesson
4
<
/source
>
<
translation
>
Lesson
4
<
/translation
>
<
translation
>
Lesson
4
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
179
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
215
"
/>
<
source
>
Lesson
5
<
/source
>
<
source
>
Lesson
5
<
/source
>
<
translation
>
Lesson
5
<
/translation
>
<
translation
>
Lesson
5
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
7
5
"
/>
<
source
>
My
name
is
kira
yoshikake
,
33
years
old
.
Living
in
the
villa
area
northeast
of
duwangting
,
unmarried
.
I
work
in
Guiyou
chain
store
.
Every
day
I
have
to
work
overtime
until
8
p
.
m
.
to
go
home
.
I
don
&
apos
;
t
smoke
.
The
wine
is
only
for
a
taste
.
Sleep
at
11
p
.
m
.
for
8
hours
a
day
.
Before
I
go
to
bed
,
I
must
drink
a
cup
of
warm
milk
,
then
do
20
minutes
of
soft
exercise
,
get
on
the
bed
,
and
immediately
fall
asleep
.
Never
leave
fatigue
and
stress
until
the
next
day
.
Doctors
say
I
&
apos
;
m
normal
.
<
/source
>
<
source
>
My
name
is
kira
yoshikake
,
33
years
old
.
Living
in
the
villa
area
northeast
of
duwangting
,
unmarried
.
I
work
in
Guiyou
chain
store
.
Every
day
I
have
to
work
overtime
until
8
p
.
m
.
to
go
home
.
I
don
&
apos
;
t
smoke
.
The
wine
is
only
for
a
taste
.
Sleep
at
11
p
.
m
.
for
8
hours
a
day
.
Before
I
go
to
bed
,
I
must
drink
a
cup
of
warm
milk
,
then
do
20
minutes
of
soft
exercise
,
get
on
the
bed
,
and
immediately
fall
asleep
.
Never
leave
fatigue
and
stress
until
the
next
day
.
Doctors
say
I
&
apos
;
m
normal
.
<
/source
>
<
translation
>
我的名字叫吉良吉影
,
33
歲
。
住在杜王町東北部的別墅區一帶
,
未婚
。
我在龜友連鎖店服務
。
每天都要加班到晚上8點才能回家
。
我不抽煙
,
酒僅止於淺嘗
。
晚上11點睡
,
每天要睡足8個小時
。
睡前
,
我一定喝一杯温牛奶
,
然後做20分鐘的柔軟操
,
上了牀
,
馬上熟睡
。
一覺到天亮
,
決不把疲勞和壓力留到第二天
。
醫生都説我很正常
。
<
/translation
>
<
translation
>
我的名字叫吉良吉影
,
33
歲
。
住在杜王町東北部的別墅區一帶
,
未婚
。
我在龜友連鎖店服務
。
每天都要加班到晚上8點才能回家
。
我不抽煙
,
酒僅止於淺嘗
。
晚上11點睡
,
每天要睡足8個小時
。
睡前
,
我一定喝一杯温牛奶
,
然後做20分鐘的柔軟操
,
上了牀
,
馬上熟睡
。
一覺到天亮
,
決不把疲勞和壓力留到第二天
。
醫生都説我很正常
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
56
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
92
"
/>
<
source
>
Lesson
3
<
/source
>
<
source
>
Lesson
3
<
/source
>
<
translation
>
Lesson
3
<
/translation
>
<
translation
>
Lesson
3
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
56
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
1
92
"
/>
<
source
>
Believe
in
the
spin
,
just
keep
believing
!<
/source
>
<
source
>
Believe
in
the
spin
,
just
keep
believing
!<
/source
>
<
translation
>
相信迴旋吧
,
只管相信就是了
!
<
/translation
>
<
translation
>
相信迴旋吧
,
只管相信就是了
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
168
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
204
"
/>
<
source
>
With
respect
,
let
&
apos
;
s
advance
towards
a
new
stage
of
the
spin
.
<
/source
>
<
source
>
With
respect
,
let
&
apos
;
s
advance
towards
a
new
stage
of
the
spin
.
<
/source
>
<
translation
>
表達敬意吧
,
表達出敬意
,
然後邁向迴旋的另一個全新階段
!
<
/translation
>
<
translation
>
表達敬意吧
,
表達出敬意
,
然後邁向迴旋的另一個全新階段
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
179
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
215
"
/>
<
source
>
迂迴路を行けば最短ルート
。
<
/source
>
<
source
>
迂迴路を行けば最短ルート
。
<
/source
>
<
translation
>
最短的捷徑就是繞遠路
,
繞遠路才是我的最短捷徑
。
<
/translation
>
<
translation
>
最短的捷徑就是繞遠路
,
繞遠路才是我的最短捷徑
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
190
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
226
"
/>
<
source
>
An
error
message
which
won
&
apos
;
t
disappear
automatically
.
<
/source
>
<
source
>
An
error
message
which
won
&
apos
;
t
disappear
automatically
.
<
/source
>
<
translation
>
一條不會自動消失的消息
。
<
/translation
>
<
translation
>
一條不會自動消失的消息
。
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
5
8
"
/>
<
source
>
The
Anthem
of
man
is
the
Anthem
of
courage
.
<
/source
>
<
source
>
The
Anthem
of
man
is
the
Anthem
of
courage
.
<
/source
>
<
translation
>
人類的讚歌就是勇氣的讚歌
!
<
/translation
>
<
translation
>
人類的讚歌就是勇氣的讚歌
!
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
2
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
10
3
"
/>
<
source
>
Action
<
/source
>
<
source
>
Action
<
/source
>
<
translation
><
/translation
>
<
translation
><
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
3
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
4
"
/>
<
source
>
Top
right
<
/source
>
<
source
>
Top
right
<
/source
>
<
translation
>
右上角
<
/translation
>
<
translation
>
右上角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
4
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
5
"
/>
<
source
>
Top
<
/source
>
<
source
>
Top
<
/source
>
<
translation
>
頂部居中
<
/translation
>
<
translation
>
頂部居中
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
5
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
6
"
/>
<
source
>
Top
left
<
/source
>
<
source
>
Top
left
<
/source
>
<
translation
>
左上角
<
/translation
>
<
translation
>
左上角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
6
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
7
"
/>
<
source
>
Bottom
right
<
/source
>
<
source
>
Bottom
right
<
/source
>
<
translation
>
右下角
<
/translation
>
<
translation
>
右下角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
7
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
8
"
/>
<
source
>
Bottom
<
/source
>
<
source
>
Bottom
<
/source
>
<
translation
>
底部居中
<
/translation
>
<
translation
>
底部居中
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
8
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
11
9
"
/>
<
source
>
Bottom
left
<
/source
>
<
source
>
Bottom
left
<
/source
>
<
translation
>
左下角
<
/translation
>
<
translation
>
左下角
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
01
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
37
"
/>
<
source
>
Lesson
1
<
/source
>
<
source
>
Lesson
1
<
/source
>
<
translation
>
Lesson
1
<
/translation
>
<
translation
>
Lesson
1
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
01
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
37
"
/>
<
source
>
Don
&
apos
;
t
have
any
strange
expectations
of
me
.
<
/source
>
<
source
>
Don
&
apos
;
t
have
any
strange
expectations
of
me
.
<
/source
>
<
translation
>
別對我抱有什麼奇怪的期待
<
/translation
>
<
translation
>
別對我抱有什麼奇怪的期待
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
12
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
48
"
/>
<
source
>
Lesson
2
<
/source
>
<
source
>
Lesson
2
<
/source
>
<
translation
>
Lesson
2
<
/translation
>
<
translation
>
Lesson
2
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
12
"
/>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
2
48
"
/>
<
source
>
Don
&
apos
;
t
let
your
muscles
notice
.
<
/source
>
<
source
>
Don
&
apos
;
t
let
your
muscles
notice
.
<
/source
>
<
translation
>
不要讓肌肉察覺
<
/translation
>
<
translation
>
不要讓肌肉察覺
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
145
"
/>
<
source
>
An
indeterminate
progress
bar
<
/source
>
<
translation
>
不確定進度條
<
/translation
>
<
/message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
165
"
/>
<
source
>
Progress
<
/source
>
<
translation
>
進度
<
/translation
>
<
/message
>
<
message
>
<
location
filename
=
"
../../view/status_info_interface.py
"
line
=
"
170
"
/>
<
source
>
An
determinate
progress
bar
<
/source
>
<
translation
>
確定的進度條
<
/translation
>
<
/message
>
<
/context
>
<
/context
>
<
context
>
<
context
>
<
name
>
TableFrame
<
/name
>
<
name
>
TableFrame
<
/name
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Title
<
/source
>
<
source
>
Title
<
/source
>
<
translation
>
標題
<
/translation
>
<
translation
>
標題
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Artist
<
/source
>
<
source
>
Artist
<
/source
>
<
translation
>
歌手
<
/translation
>
<
translation
>
歌手
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Album
<
/source
>
<
source
>
Album
<
/source
>
<
translation
>
專輯
<
/translation
>
<
translation
>
專輯
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Year
<
/source
>
<
source
>
Year
<
/source
>
<
translation
>
年份
<
/translation
>
<
translation
>
年份
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
14
8
"
/>
<
source
>
Duration
<
/source
>
<
source
>
Duration
<
/source
>
<
translation
>
時長
<
/translation
>
<
translation
>
時長
<
/translation
>
<
/message
>
<
/message
>
...
@@ -1256,32 +1271,32 @@
...
@@ -1256,32 +1271,32 @@
<
context
>
<
context
>
<
name
>
TreeFrame
<
/name
>
<
name
>
TreeFrame
<
/name
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
5
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
7
"
/>
<
source
>
JoJo
1
-
Phantom
Blood
<
/source
>
<
source
>
JoJo
1
-
Phantom
Blood
<
/source
>
<
translation
>
JoJo
1
-
幻影之血
<
/translation
>
<
translation
>
JoJo
1
-
幻影之血
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
8
"
/>
<
source
>
Jonathan
Joestar
<
/source
>
<
source
>
Jonathan
Joestar
<
/source
>
<
translation
>
喬納森
·
喬斯達
<
/translation
>
<
translation
>
喬納森
·
喬斯達
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
8
"
/>
<
source
>
Dio
Brando
<
/source
>
<
source
>
Dio
Brando
<
/source
>
<
translation
>
迪奧
·
布蘭度
<
/translation
>
<
translation
>
迪奧
·
布蘭度
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
6
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
10
8
"
/>
<
source
>
Will
A
.
Zeppeli
<
/source
>
<
source
>
Will
A
.
Zeppeli
<
/source
>
<
translation
>
威廉
·
A
·
齊貝林
<
/translation
>
<
translation
>
威廉
·
A
·
齊貝林
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
3
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
5
"
/>
<
source
>
JoJo
3
-
Stardust
Crusaders
<
/source
>
<
source
>
JoJo
3
-
Stardust
Crusaders
<
/source
>
<
translation
>
JoJo3
-
星塵鬥士
<
/translation
>
<
translation
>
JoJo3
-
星塵鬥士
<
/translation
>
<
/message
>
<
/message
>
<
message
>
<
message
>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
4
"
/>
<
location
filename
=
"
../../view/view_interface.py
"
line
=
"
11
6
"
/>
<
source
>
Jotaro
Kujo
<
/source
>
<
source
>
Jotaro
Kujo
<
/source
>
<
translation
><
/translation
>
<
translation
><
/translation
>
<
/message
>
<
/message
>
...
...
examples/gallery/app/resource/qss/dark/gallery_interface.qss
浏览文件 @
0cc60069
...
@@ -31,6 +31,11 @@ ExampleCard>#card {
...
@@ -31,6 +31,11 @@ ExampleCard>#card {
background-color: rgb(32, 32, 32);
background-color: rgb(32, 32, 32);
}
}
ExampleCard>#card QLabel {
font: 14px 'Segoe UI', 'Microsoft YaHei';
color: black;
}
ExampleCard>#titleLabel {
ExampleCard>#titleLabel {
font: 14px 'Segoe UI Light', 'Microsoft YaHei';
font: 14px 'Segoe UI Light', 'Microsoft YaHei';
background-color: transparent;
background-color: transparent;
...
...
examples/gallery/app/resource/qss/light/gallery_interface.qss
浏览文件 @
0cc60069
...
@@ -28,6 +28,11 @@ ExampleCard > #card {
...
@@ -28,6 +28,11 @@ ExampleCard > #card {
background-color: rgb(243, 243, 243);
background-color: rgb(243, 243, 243);
}
}
ExampleCard > #card QLabel {
font: 14px 'Segoe UI', 'Microsoft YaHei';
color: black;
}
ExampleCard > #titleLabel {
ExampleCard > #titleLabel {
font: 14px 'Segoe UI Light', 'Microsoft YaHei';
font: 14px 'Segoe UI Light', 'Microsoft YaHei';
font-weight: 700;
font-weight: 700;
...
...
examples/gallery/app/view/home_interface.py
浏览文件 @
0cc60069
...
@@ -310,6 +310,14 @@ class HomeInterface(ScrollArea):
...
@@ -310,6 +310,14 @@ class HomeInterface(ScrollArea):
routeKey
=
"statusInfoInterface"
,
routeKey
=
"statusInfoInterface"
,
index
=
3
index
=
3
)
)
stateInfoView
.
addSampleCard
(
icon
=
":/gallery/images/controls/ProgressBar.png"
,
title
=
"ProgressBar"
,
content
=
self
.
tr
(
"Shows the apps progress on a task, or that the app is performing ongoing work that doesn't block user interaction."
),
routeKey
=
"statusInfoInterface"
,
index
=
7
)
self
.
vBoxLayout
.
addWidget
(
stateInfoView
)
self
.
vBoxLayout
.
addWidget
(
stateInfoView
)
# text samples
# text samples
...
...
examples/gallery/app/view/status_info_interface.py
浏览文件 @
0cc60069
# coding:utf-8
# coding:utf-8
from
PyQt5.QtCore
import
Qt
from
PyQt5.QtCore
import
Qt
from
PyQt5.QtGui
import
QPixmap
,
QColor
from
PyQt5.QtGui
import
QPixmap
,
QColor
from
PyQt5.QtWidgets
import
QWidget
,
QHBoxLayout
from
PyQt5.QtWidgets
import
QWidget
,
QHBoxLayout
,
QLabel
,
QVBoxLayout
from
qfluentwidgets
import
(
StateToolTip
,
ToolTipFilter
,
PushButton
,
PixmapLabel
,
from
qfluentwidgets
import
(
StateToolTip
,
ToolTipFilter
,
PushButton
,
PixmapLabel
,
InfoBar
,
InfoBarIcon
,
FluentIcon
,
InfoBarPosition
)
InfoBar
,
InfoBarIcon
,
FluentIcon
,
InfoBarPosition
,
ProgressBar
,
IndeterminateProgressBar
,
SpinBox
)
from
.gallery_interface
import
GalleryInterface
from
.gallery_interface
import
GalleryInterface
from
..common.translator
import
Translator
from
..common.translator
import
Translator
...
@@ -138,6 +139,41 @@ class StatusInfoInterface(GalleryInterface):
...
@@ -138,6 +139,41 @@ class StatusInfoInterface(GalleryInterface):
'https://github.com/zhiyiYo/PyQt-Fluent-Widgets/blob/master/examples/info_bar/demo.py'
,
'https://github.com/zhiyiYo/PyQt-Fluent-Widgets/blob/master/examples/info_bar/demo.py'
,
)
)
# indeterminate progress bar
bar
=
IndeterminateProgressBar
(
self
)
bar
.
setFixedWidth
(
200
)
card
=
self
.
addExampleCard
(
self
.
tr
(
'An indeterminate progress bar'
),
bar
,
'https://github.com/zhiyiYo/PyQt-Fluent-Widgets/blob/master/examples/progress_bar/demo.py'
,
)
card
.
topLayout
.
setContentsMargins
(
12
,
24
,
12
,
24
)
# progress bar
w
=
QWidget
(
self
)
hBoxLayout
=
QHBoxLayout
(
w
)
bar
=
ProgressBar
(
self
)
bar
.
setFixedWidth
(
200
)
spinBox
=
SpinBox
(
self
)
spinBox
.
valueChanged
.
connect
(
bar
.
setValue
)
spinBox
.
setRange
(
0
,
100
)
hBoxLayout
.
addWidget
(
bar
)
hBoxLayout
.
addSpacing
(
50
)
hBoxLayout
.
addWidget
(
QLabel
(
self
.
tr
(
'Progress'
)))
hBoxLayout
.
addSpacing
(
5
)
hBoxLayout
.
addWidget
(
spinBox
)
hBoxLayout
.
setContentsMargins
(
0
,
0
,
0
,
0
)
self
.
addExampleCard
(
self
.
tr
(
'An determinate progress bar'
),
w
,
'https://github.com/zhiyiYo/PyQt-Fluent-Widgets/blob/master/examples/progress_bar/demo.py'
,
)
def
onStateButtonClicked
(
self
):
def
onStateButtonClicked
(
self
):
if
self
.
stateTooltip
:
if
self
.
stateTooltip
:
self
.
stateTooltip
.
setContent
(
self
.
stateTooltip
.
setContent
(
...
...
examples/progress_bar/demo.py
0 → 100644
浏览文件 @
0cc60069
# coding:utf-8
import
sys
from
PyQt5.QtCore
import
Qt
from
PyQt5.QtWidgets
import
QApplication
,
QWidget
,
QVBoxLayout
from
qfluentwidgets
import
IndeterminateProgressBar
,
ProgressBar
class
Demo
(
QWidget
):
def
__init__
(
self
):
super
().
__init__
()
self
.
vBoxLayout
=
QVBoxLayout
(
self
)
self
.
progressBar
=
ProgressBar
(
self
)
self
.
inProgressBar
=
IndeterminateProgressBar
(
self
)
self
.
progressBar
.
setValue
(
50
)
self
.
vBoxLayout
.
addWidget
(
self
.
progressBar
)
self
.
vBoxLayout
.
addWidget
(
self
.
inProgressBar
)
self
.
vBoxLayout
.
setContentsMargins
(
30
,
30
,
30
,
30
)
self
.
resize
(
400
,
400
)
if
__name__
==
'__main__'
:
# enable dpi scale
QApplication
.
setHighDpiScaleFactorRoundingPolicy
(
Qt
.
HighDpiScaleFactorRoundingPolicy
.
PassThrough
)
QApplication
.
setAttribute
(
Qt
.
AA_EnableHighDpiScaling
)
QApplication
.
setAttribute
(
Qt
.
AA_UseHighDpiPixmaps
)
app
=
QApplication
(
sys
.
argv
)
w
=
Demo
()
w
.
show
()
app
.
exec_
()
\ No newline at end of file
qfluentwidgets/components/widgets/__init__.py
浏览文件 @
0cc60069
...
@@ -19,4 +19,5 @@ from .table_view import TableView, TableWidget, TableItemDelegate
...
@@ -19,4 +19,5 @@ from .table_view import TableView, TableWidget, TableItemDelegate
from
.tool_tip
import
ToolTip
,
ToolTipFilter
,
ToolTipPosition
from
.tool_tip
import
ToolTip
,
ToolTipFilter
,
ToolTipPosition
from
.tree_view
import
TreeWidget
,
TreeView
,
TreeItemDelegate
from
.tree_view
import
TreeWidget
,
TreeView
,
TreeItemDelegate
from
.cycle_list_widget
import
CycleListWidget
from
.cycle_list_widget
import
CycleListWidget
from
.progress_bar
import
IndeterminateProgressBar
,
ProgressBar
from
.scroll_bar
import
ScrollBar
,
SmoothScrollBar
,
SmoothScrollDelegate
from
.scroll_bar
import
ScrollBar
,
SmoothScrollBar
,
SmoothScrollDelegate
\ No newline at end of file
qfluentwidgets/components/widgets/progress_bar.py
0 → 100644
浏览文件 @
0cc60069
# coding:utf-8
from
math
import
floor
from
PyQt5.QtCore
import
(
QEasingCurve
,
Qt
,
pyqtSignal
,
QPropertyAnimation
,
pyqtProperty
,
QParallelAnimationGroup
,
QSequentialAnimationGroup
)
from
PyQt5.QtGui
import
QPainter
,
QColor
from
PyQt5.QtWidgets
import
QProgressBar
,
QWidget
from
...common.style_sheet
import
themeColor
,
isDarkTheme
class
ProgressBar
(
QProgressBar
):
def
__init__
(
self
,
parent
=
None
):
super
().
__init__
(
parent
)
self
.
setFixedHeight
(
4
)
def
paintEvent
(
self
,
e
):
painter
=
QPainter
(
self
)
painter
.
setRenderHints
(
QPainter
.
Antialiasing
)
# draw background
c
=
255
if
isDarkTheme
()
else
0
painter
.
setPen
(
QColor
(
c
,
c
,
c
,
155
))
y
=
floor
(
self
.
height
()
/
2
)
painter
.
drawLine
(
0
,
y
,
self
.
width
(),
y
)
if
self
.
minimum
()
==
self
.
maximum
():
return
# draw bar
painter
.
setPen
(
Qt
.
NoPen
)
painter
.
setBrush
(
themeColor
())
w
=
int
(
self
.
value
()
/
(
self
.
maximum
()
-
self
.
minimum
())
*
self
.
width
())
r
=
self
.
height
()
/
2
painter
.
drawRoundedRect
(
0
,
0
,
w
,
self
.
height
(),
r
,
r
)
class
IndeterminateProgressBar
(
QProgressBar
):
""" Indeterminate progress bar """
def
__init__
(
self
,
parent
=
None
):
super
().
__init__
(
parent
=
parent
)
self
.
_shortPos
=
0
self
.
_longPos
=
0
self
.
shortBarAni
=
QPropertyAnimation
(
self
,
b
'shortPos'
,
self
)
self
.
longBarAni
=
QPropertyAnimation
(
self
,
b
'longPos'
,
self
)
self
.
_isError
=
False
self
.
aniGroup
=
QParallelAnimationGroup
(
self
)
self
.
longBarAniGroup
=
QSequentialAnimationGroup
(
self
)
self
.
shortBarAni
.
setDuration
(
833
)
self
.
longBarAni
.
setDuration
(
1167
)
self
.
shortBarAni
.
setStartValue
(
0
)
self
.
longBarAni
.
setStartValue
(
0
)
self
.
shortBarAni
.
setEndValue
(
1.45
)
self
.
longBarAni
.
setEndValue
(
1.65
)
self
.
longBarAni
.
setEasingCurve
(
QEasingCurve
.
OutQuad
)
self
.
aniGroup
.
addAnimation
(
self
.
shortBarAni
)
self
.
longBarAniGroup
.
addPause
(
785
)
self
.
longBarAniGroup
.
addAnimation
(
self
.
longBarAni
)
self
.
aniGroup
.
addAnimation
(
self
.
longBarAniGroup
)
self
.
aniGroup
.
setLoopCount
(
-
1
)
self
.
setFixedHeight
(
4
)
@
pyqtProperty
(
float
)
def
shortPos
(
self
):
return
self
.
_shortPos
@
shortPos
.
setter
def
shortPos
(
self
,
p
):
self
.
_shortPos
=
p
self
.
update
()
@
pyqtProperty
(
float
)
def
longPos
(
self
):
return
self
.
_longPos
@
longPos
.
setter
def
longPos
(
self
,
p
):
self
.
_longPos
=
p
self
.
update
()
def
showEvent
(
self
,
e
):
super
().
showEvent
(
e
)
self
.
start
()
def
start
(
self
):
self
.
shortPos
=
0
self
.
longPos
=
0
self
.
aniGroup
.
start
()
self
.
update
()
def
pause
(
self
):
self
.
aniGroup
.
pause
()
self
.
update
()
def
resume
(
self
):
self
.
aniGroup
.
resume
()
self
.
update
()
def
setPaused
(
self
,
isPaused
:
bool
):
self
.
aniGroup
.
setPaused
(
isPaused
)
self
.
update
()
def
isPaused
(
self
):
return
self
.
aniGroup
.
state
()
==
QParallelAnimationGroup
.
Paused
def
error
(
self
):
self
.
_isError
=
True
self
.
aniGroup
.
stop
()
self
.
update
()
def
setError
(
self
,
isError
:
bool
):
self
.
_isError
=
isError
if
isError
:
self
.
error
()
else
:
self
.
start
()
def
isError
(
self
):
return
self
.
_isError
def
paintEvent
(
self
,
e
):
painter
=
QPainter
(
self
)
painter
.
setRenderHints
(
QPainter
.
Antialiasing
)
painter
.
setPen
(
Qt
.
NoPen
)
if
self
.
aniGroup
.
state
()
==
QPropertyAnimation
.
Running
:
painter
.
setBrush
(
themeColor
())
elif
self
.
aniGroup
.
state
()
==
QPropertyAnimation
.
Paused
:
painter
.
setBrush
(
QColor
(
252
,
225
,
0
)
if
isDarkTheme
()
else
QColor
(
157
,
93
,
0
))
elif
self
.
_isError
:
painter
.
setBrush
(
QColor
(
196
,
43
,
28
))
# draw short bar
x
=
int
((
self
.
shortPos
-
0.4
)
*
self
.
width
())
w
=
int
(
0.4
*
self
.
width
())
r
=
self
.
height
()
/
2
painter
.
drawRoundedRect
(
x
,
0
,
w
,
self
.
height
(),
r
,
r
)
# draw long bar
x
=
int
((
self
.
longPos
-
0.6
)
*
self
.
width
())
w
=
int
(
0.6
*
self
.
width
())
r
=
self
.
height
()
/
2
painter
.
drawRoundedRect
(
x
,
0
,
w
,
self
.
height
(),
r
,
r
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录