前言
好久没有更新文章了,最近的文章也差不多两个星期前了。
主要是上周去团建了,然后我去尝试用 docsify 框架构建自己的 wiki 文档,把时间都用光了。
wiki 文档算是搭建好了,中间对一些插件做了自己的优化改良,所以花了比较多的时间~ 链接
不过目前还没有任何内容,打算慢慢进行更新,是一个长线的事情,可能需要等自己的只是体系更加系统了之后,类似 CGwiki 的文档一样规范整理。
然后团建回来之后就患上了重感冒,果然团建暴饮暴食再加上泡了温泉可能着凉了,所以这周也算是过得挺糟心的(:з」∠)
另外最近参加了公司内部的 minigame 比赛,我这个工具人的定位就尴尬得一批,我属于美术分类,但是我的美术能力根本指望不上(:з」∠)
而且游戏制作相关的东西,包括引擎开发相关的还有很多东西需要补充。
估计还要再积累一段时间,后续到国庆的日子里得不定期更新了~
改名工具
这个工具之前看了个教程有提到用 Unreal Python 开发批量改名工具,而且还可以根据文件的类型进行前后缀匹配。 改名视频 前缀匹配视频
不过这个教程做得很简单,我想通过 PySide 的界面将改名工具做得更好一点。
最近做了一个 PyToolkit 工具的推荐视频(顺便还恰了饭),成品演示视频↓↓↓
Template 报错坑
我在左侧配置了命名变量,可以根据变量的名称配置自动嵌入到重命名工具上。
最初我想到的实现方法是通过 字符串 的 format 方法来实现,但是 format 在一些特殊的情况下会报错,不好进行处理。
1 | "{{INDEX}sd".format(**{"a":'123','INDEX':123}) |
最后通过魔改 Template 的方法来解决这个问题。
Python 的 string 模块自带 Templete 模板类,是方便以前后端 Html 模板进行处理的。
怎么用网上也有很多介绍 python的Template使用指南
当然这个原生的功能还是比较简单的,源码是通过 正则表达式 匹配的。
默认情况下可以自动替换 Templete 字符串下 $ 或者 ${} 的字符串。
因为是带源码,我可以在它的基础上进行一些处理,就不会导致 format 黑箱报错的问题。
1 | class ReplaceTemplate(Template): |
基本上就是在源码的 subtitute 稍微改动了一下。
确保替换可以返回出我想要的字符串。
dayu_widgets tableview 的小坑
这次使用了 dayu_widgets 封装好的 MTableView 来显示重命名工具的数据。
使用的过程中发现了写小问题,迫不得已,还要重新封装一下 MTableModel 来解决这个问题。
后来我将问题提到了 dayu_widgets 的 issue 里面,得到了作者的反馈。
作者毕竟是个高人,一眼就看出我
不是人道行不够深。
作者还写了案例代码,清晰表达了可以通过其他更好的方式实现我所想要的效果。
感谢作者的帮助,这里受教了~
总结
重命名工具已经弄好了好一段时间,然而这个总结文章却是姗姗来迟(:з」∠)
而且这里也没有总结出什么比较好的东西,中间有一部分代码是直接拿了 Digital Tutor 一套 Maya PyQt 开发教程的代码
可以实现英文 26 个字母 序号 自动递增的排序,超出 26 的情况下会自动拼接为 aa ab 这种方式。
这次再次深度挖掘了 QtDesigner 的隐藏功能。
通过魔改 ui 文件成功实现了 QSplitter 的效果。
同时还加入 QSettings 实现插件的配置。