游戏与影视行业制作软件多标配Python脚本,Qt开发GUI。比如Max新版本, Maya, Houdini, Nuke, Blender等,理论上在这些软件下开发工具时,只需要设计一套UI, 就可以跨App使用了。

看一下要如何做? 这里在Maya2017与Max2019下演示(因为都是PySide2)。

基本流程:

1. 使用Qt Designer快速设计UI

2. 将ui文件转成python,继承它,实现自己的窗口类

在Qt Designer中设计UI,我使用Maya自带的:

设计一个工具界面,存为guiDemo.ui文件

写个脚本将ui文件批量转为xxx_ui.py(也可以直接加载ui文件)

生成好的python文件

实现自己的窗口类,我通常继承多个父类,然后写一个main直接运行测试(这时不需要到Maya或Max里面去测试):

写一个python文件用于获取父窗口

写个launcher.py用于测试

Maya2017里运行效果

Max2019里运行效果

Houdini14里运行效果

Ooops! 直接挂掉了!

仔细一看,不是PySide2, 而是PySide!

如果在更低的Maya版本下,也会报同样的错! 比如Maya2014, 因为PySide2还是比较新的东西, 低版本用的PySide甚至PyQt4。怎么办?

有个开源的项目叫Qt.py,支持PyQt4, PyQt5, PySide, PySide2,用它就能完美解决跨版本了:

基本上就是加上一行: os.environ['QT_PREFERRED_BINDING'] = 'PySide'

然后from Qt import xxx, 就差不多了;

这里不测试了,之前的经验是在2014下PySide开发,然后需要支持高版本2017的PySide2,就靠它解决了。

好了,现在你已经知道如何跨版本、跨不同软件共享同一套GUI了;对开发者的好处是不用搞那么多套,省事;对最终用户的好处是学习成本大大降低了。

Git:

git clone https://github.com/WendyAndAndy/MayaDev.git

0008 实现MaxMaya共用一套GUI相关推荐

  1. rem结合媒体查询适配的vue项目(PC端和移动端共用一套代码)

    一.前言 上周四接到了一个简单的纯前端网页的项目,我用了三天时间已经开发并且部署完毕(为了实现快速简易部署,使用了gitee pages进行部署,这篇文章记录我使用gitee pages部署的详细过程 ...

  2. 【研究生必备】【效率】两台电脑共用一套鼠标键盘(非局域网情况)

    情况简介: 一台实验室配的台式机,有线上网,win10系统 一台自己的笔记本,校园无线上网,win10系统 习惯使用自己的laptop的键盘鼠标,想办法共用一套鼠标键盘 step1:在台式机上建立虚拟 ...

  3. 老手机能升级华为鸿蒙,华为正式发布鸿蒙2.0!实现手机、平板等多平台共用一套代码!...

    1. 华为发布HarmonyOS 2,向万物互联时代迈进 华为消费者业务软件部总裁王成录在HarmonyOS2及华为全场景新品发布会上表示,鸿蒙操作系统是一个全栈解耦的架构,一套代码可以在手机上使用, ...

  4. mouse without borders 两台主机共用一套鼠标键盘

    一.本教程的前提不是一个主机两个屏 的共用,  一个主机两个屏不用教程  PDD买一根连接线 直接从本机插到外接屏就ok了 1.本文是两台主机两个屏的电脑鼠标共享 因为自己带的有笔记本,公司配的只有一 ...

  5. 局域网内多台windows设备共用一套键鼠【微软官方】Mouse without Borders 2.2.1.0327

    Mouse without Borders是一款由微软开发的免费软件,它可以帮助用户在多台电脑之间共享鼠标和键盘.它允许用户在多个计算机之间无缝地移动鼠标和键盘,就像它们连接在同一台计算机上一样. M ...

  6. linux与windows键鼠共享,安装SYNERGY完美配置Windows,Linux共用一套键鼠

    背景: 现有WIN10双显示器主机,1个树莓派接入其中一个显示器. 原本的两套键鼠在桌面上比较拥挤,切换不够流畅.而且逼格不够. 过程: WIN10作为服务端,树莓派作为客户端使用服务端的键鼠. 1. ...

  7. Windows和Ubuntu使用Synergy共用一套键鼠

    实验室电脑是Ubuntu系统,自己笔记本是Windows系统,罗技的options++没有Linux版本,没法共享键鼠.而两台电脑用两套键鼠很麻烦,使用的时候经常搞混,又占地方,所以就用Synergy ...

  8. 【解决方案】多机共用一套键鼠

    由现实问题引发的思考(可不看) 日常在实验室学习,目前在实验室常用四台设备:台式电脑.笔记本.ipad.手机. 受限: 1. 台式电脑鼠标坏了. 2. 笔记本键盘舒适度不如机械键盘. 3. 实验室桌子 ...

  9. Ubuntu20.04安装synergy(Windows和linux共用一套键鼠)

    文章目录 前言 一.synergy是什么? 二.安装步骤 1.下载解压安装包 2.运行synergy 3.启动后 总结 前言 因为最近在鼓捣Ubuntu20.04,因为两套键鼠太麻烦了,所以用到syn ...

最新文章

  1. 数据库结构Sqlite与CoreData
  2. 生成中文词云图的制作:带有不同的背板
  3. GTID的常见错误和处理方法
  4. payara 创建 集群_使用Payara Micro的Easy Java EE Microservices
  5. Kafka笔记-搭建及单机生产者、消费者操作
  6. 内连接 左连接 右连接 交叉连接的区别
  7. v8的垃圾回收机制(一)
  8. 现有Android项目中集成Flutter/Flutter混合开发实战(一)
  9. php评论表情包怎么引入,WordPress中添加自定义评论表情包的方法
  10. Win10文件名排序
  11. C语言将CSR存储模式转为coo,spmv_csr 稀疏矩阵的DIA/ELLPACK/COO/CSR/HYB表示形式 - 下载 - 搜珍网...
  12. docker 镜像压缩 docker-squash
  13. C++流式输入输出加速 给 cin/cout 装个小火箭
  14. MongoBD 系列(1) —— 初识 MongoDB
  15. 时间序列-预测:概述【Time Series Forecasting (TSF) 】【时间序列既可以做回归任务,也可以做分类任务】【预测是回归问题,不是分类问题】
  16. 找出列表中的偶数位元素
  17. linux使用:解决克隆虚拟机后UP BROADCAST RUNNING MULTICAST问题
  18. java火车票预订系统代码_基于JSP开发火车票网上订票系统 java源码
  19. 等级保护与分级保护关系与区别
  20. 基数词和序数词的基本用法

热门文章

  1. SAP中物料主数据锁定字段的功能测试
  2. 阿里云短信验证码注册及使用
  3. 从效能公式解构研发效能
  4. 有没有可以刷python题的软件_你想要的Python面试都在这里了【315+道题】
  5. .NET Framework 中新托管 Direct3D 图形 API 的简介
  6. 常见特殊符号和对应编码大全
  7. 单击a标签不跳转的设置,a标签更多设置说明
  8. 一个小实例——借书Demo
  9. php使用gmail发送邮件,PHP使用gmail发邮件
  10. 医疗美容市场规模快速发展,2022年已达到了2479亿元,增速17.5%