devc代码自动补全_【代码开发】从头开始设计工具的图形用户界面(二)

本文是关于代码开发的系列文章,重点介绍了如何在任务管理器工具中添加内容搜索及自动补全功能,同时讲解了多语言翻译的实现过程,包括创建语言文件、翻译和转换为QM文件,最后提到了通过QSS样式调整工具界面美观度的方法。
摘要由CSDN通过智能技术生成

点击蓝字关注

和Auv一起学习

cacb7a3e0b4a40693de0854586490bd2.png

本篇文章是“代码知识分享主题月”的第2篇系列文章。

哈喽,大家好啊~这里是Auv。

上一篇文章中我们演示创建了一个任务管理器工具的ui文件,并实现了功能代码,最终得到了一版可以投入使用的工具:

4faae6e66f8cbaeb58ae2bb8104c08a0.png

任务启动器工具界面

工具“能用”还远远不够,为了应对多种需求,我们今天再举例说一说内容搜索及自动补全,多语言翻译和QSS样式

内容搜索及自动补全

任务管理器投入使用后,最让艺术家叫苦不迭的就是没有搜索和自动补全功能。每次选择任务的时候,都要盯着找半天(我亲测想死...)

其实搜索和自动补全功能实现起来很简单,示例代码如下:

sequence_comboBox = QtWidgets.QComboBox()# set completer for searchcompleter = QtWidgets.QCompleter()completer.setFilterMode(QtCore.Qt.MatchContains)  #不仅仅从开头补全completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) #忽略大小写sequence_comboBox.setEditable(True)sequence_comboBox.setCompleter(completer)# set model for the completermodel = QtCore.QStringListModel()model.setStringList(sequence_list)completer.setModel(model)# add itemssequence_comboBox.clear()sequence_comboBox.addItems(sequence_list)

e040d4776149fc97c9e29047628f7ded.png

实现内容搜索和自动补全

虽然只是一个小的改动,但用起来真是,美滋滋~~

多语言翻译

有些CG/ VFX公司有外籍同事,因此我们设计工具的时候要提供多语言版本。

1. 创建语言文件

pylupdate4 main_mixin.py -ts zh_CN.ts

2. 翻译语言文件

用Qt语言家打开zh_CN.ts,手动翻译所有字符串:

5c4595e26a735e1d345f1ae72765a893.png

 Qt语言家界面

3. 转换为qm文件

运行命令:

lrelease  zh_CN.ts -qm zh_CN.qm -silent

或者点击Qt语言家的工具栏:文件--发布

2d1611d432b830312bbb4dfc2877bf93.png

4. 代码中引入qm文件

from PySide2.QtCore import QTranslatortrans = QTranslator()trans.load("zh_CN") app.installTranslator(trans)

(具体操作步骤请点击:https://www.cnblogs.com/dcb3688/p/4578355.html)

一般来说,大部分工具都需要有多语言版本。我们可以封装一个底层类,然后通过自定义的语言转换接口即可实现工具的多语言切换。

QSS样式

作为一个写代码的“艺术家”,你可能觉得之前的工具界面太low了,工作不够饱和的你也许想重新设计工具外观。

通过修改QSS样式可以很方便实现这一需求,示例代码如下:

widgetStyleSheet = u"QWidget { background-color: #434343}"labelStyleSheet = u"QLabel { border-style:flat;font-weight:500;                    font-family: Helvetica;color: #BFBFBF;}"# set QSSself.app.setStyleSheet(widgetStyleSheet + labelStyleSheet )

3816dbad118ccefb00965fc066f47e91.png

原谅我还是有点low的界面

最好的方式是为所有工具制定统一的QSS样式标准,让工具保持一致的艺术水准,咳咳。

d2df435c36674ba32f60bf105a095db6.png

好啦,以上就是工具GUI设计的所有内容。下一篇写什么内容还没想好,先让我叉会儿腰~

128bb58301a2174f0b4c428c4165effb.png

6e6f03f8bd1c06055f29253b375d3c65.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值