Python 动态设置PyQt应用程序的版本
我有一个PyQt应用程序,它有一个“关于”窗口,在这里我显示作者的姓名、联系人和应用程序的版本 我不想在每次发布新版本时都改变这个数字,所以现在我使用以下方法Python 动态设置PyQt应用程序的版本,python,json,pyqt4,Python,Json,Pyqt4,我有一个PyQt应用程序,它有一个“关于”窗口,在这里我显示作者的姓名、联系人和应用程序的版本 我不想在每次发布新版本时都改变这个数字,所以现在我使用以下方法 我有一个命令行python脚本compile.py,它需要版本号,并使用pyinstaller编译为exe python compile.py 1.0.1 然后,此脚本更改json文件-data.json中的版本 {version:1.0.1;} 然后,在执行“About”对话框时,将从data.json中检索版本号 这是我的临时解决方案
python compile.py 1.0.1
{version:1.0.1;}
当然,我可以为此目的存储一个变量,并在每次发布新版本时对其进行更改,但这比我的解决方案更糟糕。问题是,您必须至少在某个地方键入一次新版本字符串,无论它是作为命令行参数还是作为文件中的一行-那么为什么不作为应用程序中的变量呢 Qt实际上提供了用于执行此操作的API,因此在PyQt应用程序的开头可以有类似的内容:
QApplication.setApplicationName('MyApp')
QApplication.setApplicationVersion('1.0.1')
由于这些函数是静态的,因此可以从应用程序中的任何位置访问这些值(甚至在创建QApplication
对象本身之前,这对于命令行输出、日志记录等都很方便)
此外,我将版本字符串视为应用程序的一部分,因此对其所做的任何更改都应该包含在版本控制历史记录中(通常是在发布新版本之前作为最终提交的一部分)