首页 > 编程语言 >Python+Qt在苹果电脑生成app制作dmg

Python+Qt在苹果电脑生成app制作dmg

时间:2024-04-17 13:15:15浏览次数:31  
标签:苹果电脑 dmg app 点击 右键 快捷方式 setup Qt

生成setup.py文件,然后修改里面配置内容,如下所示:

 1 #! python3
 2 # -*- coding: utf-8 -*-
 3 """
 4 This is a setup.py script generated by py2applet
 5 
 6 Usage:
 7     python setup.py py2app
 8 """
 9 
10 from setuptools import setup, find_packages
11 from pkg_resources import parse_requirements
12 # 把需要的打包进去
13 with open("reqirements.txt", encoding="utf-8") as fp:
14     install_requires = [str(requirement) for requirement in parse_requirements(fp.read())]
15 
16 APP = ['main.py'] # 定义程序开始文件
17 DATA_FILES = []
18 OPTIONS = {
19     'argv_emulation': True,
20     'iconfile': 'logo2.icns',
21     'packages': ['os', 'sys', 'PyQt5', 'serial'],
22     'plist': {
23         'CFBundleName': 'BroadcastPlayer',
24         'CFBundleDisplayName': 'BroadcastPlayer',
25         'CFBundleVersion': '2024.04.10',
26         'NSHumanReadableCopyright': u'Copyright @ 2024'
27     }
28 }
29 
30 setup(
31     name='ScentPlayer', # 程序名称
32     version='0.0.1', # 程序版本号
33     author='ScentRealm', 
34     description='A Player For NeckWear',
35     classifiers=[
36         'License :: OSI Approved :: MIT License',
37         'Programming Language :: Python :: 3',
38     ],
39     include_package_data=True,  # normal not use
40     packages=find_packages(exclude=["dist.*", "dist"]), # 包含文件
41     data_files=[('', ['favicon.ico'])], # 包含的文件
42     install_requires=install_requires, # 需要打包进去的
43     # options={'py2app': OPTIONS},
44     setup_requires=['py2app'],
45     app=APP,
46 )

设置好后,在终端输入:

python3 setup.py py2app

在程序目录下生成dist文件夹和 ScentPlayer.app

第二步就是打包生成dmg文件了

第二步:

macOS 苹果系统 打包 app 为 dmg

挺简单其实,不用第三方工具

把app打包成dmg,方便发布给别人安装使用

提前准备

app
应用程序的快捷方式
背景图(非必须)
网址链接的快捷方式(非必须)

比如 打包系统自带的 游戏 国际象棋 app

这个用系统自带的国际象棋做示范

 

网址链接的快捷方式

打开Safari 浏览器,输入你的网址,直接把网址拖拽到桌面,.webloc后缀的就是相当于windows的网址快捷方式

背景图

自己找一个你想要的,分辨率不用特别大,一般720*480的就算很大了。2L提供一个示范图。

 

应用程序的快捷方式 macOS系统叫替身

点击左下角的 访达 - 左边栏 点一下 应用程序 - 在 应用程序 上 右键 点 在上层文件夹显示

 

 

在 应用程序 右键,点击 制作替身

 

制作出来的带图标的这个就是快捷方式了,右键重命名一下,直接拖到桌面,方便使用

至此 准备完成。

制作部分

打开 启动台 - 其他工具 - 磁盘工具

点 最上面的 文件 新建映像 - 新建空白映像

看图参考设置,文件位置放到下载就可以,文件大小根据你要封包的大小的app参考设置

创建完成后,点击左边栏 的 chess.dmg 右键 在访达中显示

会弹出一个空白界面的窗口,把准备好的快捷方式,图片之类的全拖进去

在空白处右键,点击 查看显示选项

可以设置图标大小,最下面,背景选图片,把背景图片拖拽进去

隐藏背景图片的图片文件

打开 终端 (启动台 - 其他工具 - 终端)

chflags hidden /Volumes/chess/bg.jpg
全选代码 复制

想显示图片了就改成 nohidden

图片隐藏后,手动拖拽一下对话框,右键点击 整理

感觉差不多之后,桌面找到 chess 右键 推出

推出后,回到 磁盘工具

点击最上面的 映像 - 转换

找到你存放的位置,选中创建的dmg,点击转换

如图,起个新名字

完成后,打开文件位置,新名字的就是创建好了的dmg文件,旧的可以删掉了

一个简易的黑苹果安装教程:https://www.mfpud.com/topics/10263/

 

标签:苹果电脑,dmg,app,点击,右键,快捷方式,setup,Qt
From: https://www.cnblogs.com/kingkie/p/18140362

相关文章

  • Qt实现无边框窗口(二)
    本例使用纯Qt实现了无边框的窗口,包含了窗口外围的阴影和调整窗口大小的功能,以及最小化、最大化和关闭按钮的功能。本程序在VS2017、Qt5.9下测试通过。期间为了正确响应鼠标消息调试了1~2天,因为在推拽调整窗口大小的时候总是会出漏洞,不过最终还是解决了这些问题。运行效果如下图:......
  • pyqt5报错记录:ERROR: Failed building wheel for PyQt5-sip
    问题:pipinstallpyqt5Collectingpyqt5UsingcachedPyQt5-5.15.10-cp37-abi3-win_amd64.whl.metadata(2.2kB)CollectingPyQt5-sip<13,>=12.13(frompyqt5)UsingcachedPyQt5_sip-12.13.0.tar.gz(123kB)Installingbuilddependencies...doneGettingr......
  • Qt实现遮罩效果并可以拖动伸缩
    qml实现遮罩实现遮罩容易,但是如果可以任意拖动就需要动动脑子了,在经过大神的提示后,根据截图的界面思考,可以由五个矩形来实现(一个中心矩形和四个锚定在四周的矩形,它们一起充满程序窗口区域)QGraphicsView实现遮罩由于没有qml锚定布局,模拟锚定费时间,需要换一种思路,还是截图的灵感,......
  • 笔记:OpenCV3和Qt5 计算机视觉应用开发(一)
    目标:学习《OpenCV3和Qt5计算机视觉应用开发》,记录总结学习过程。第一章OpenCV和Qt简介开发环境系统版本:Ubuntu16.04.7LTSQt版本:Qt5.9.5OpenCV版本:opencv-3.3.0虚拟机版本:VMware®Workstation16Pro(16.2.2build-19200509)学习总结1,安装Linux开发环境终端运行:sudoapt-get......
  • 笔记:OpenCV3和Qt5 计算机视觉应用开发(二)
    目标:学习《OpenCV3和Qt5计算机视觉应用开发》,记录总结学习过程。第2章创建第一个Qt+OpenCV项目学习总结1,信号与槽机制。2,Qt对象树机制实现自动内存管理。3,问题:程序异常结束。OpenCVError:Unspecifiederror(couldnotfindawriterforthespecifiedextension)inimwrite......
  • Qt 资源文件过大的处理方法(生成rcc文件)
    1. 生成qrc文件 2.项目同级目录下创建res文件夹并将资源粘贴过来3.编辑qrc,加入前缀和文件4.利用qrc生成二进制文件rcc资源过大,会提示如下问题:解决方法:利用cmd打开终端,定位到res.qrc的目录下,输入命令rcc-binary.\res.qrc-oplane.rcc5.注册二进制文件#defin......
  • windows 使用MSVC2022编译 Qt 5.12.11
    准备准备一下安装程序,并添加到PATH环境变量。Perl选择64位Portable:PerlPortableRuby选择64位版本进行安装:ruby64bitPython安装Pythonjomnmake不支持并行编译,使用jom进行并行编译。下载jom,解压并添加到PATH环境变量。jomQt5.12.11编译下载地址:Qt5.12.11。使用MS......
  • 05_QT网络编程之TCP通信
    QT网络编程之TCP通信QT的网络编程:​ 网络编程有TCP和UDP。TCP编程需要用到俩个类:QTcpServer和QTcpSocket本节课目标:​ 完成一个TCP服务器和一个客户端。TcpServerwidget.ui<?xmlversion="1.0"encoding="UTF-8"?><uiversion="4.0"><class>Widget</class>......
  • 04_把QT程序打包成Windows软件
    把QT程序打包成Windows软件问题一:什么是打包和部署?​因为我们要把写好的程序发给用户来用,我们写好的源码也不是随便给别人的。问题二:怎么打包和部署?1.我们把工厂切换到release模式,然后编译。​release模式:基本没有调试信息。​debug模式:有很多调试信息。......
  • 03_QT上位机开发之串口助手
    QT上位机开发之串口助手一.qt的三驾马车​ 1.qt下的串口编程​ 2.qt下的网络编程​ 3.qt下操作GPIO二.仿写串口助手MySerial.pro#-------------------------------------------------##ProjectcreatedbyQtCreator2024-04-12T18:07:26##--------------------------......