- 第一个应用
- 安装环境
- 创建项目
- 打包
- 打包windows应用
- 打包apk
- 更新配置
- Toga自定义界面(写GUI)
第一个应用 安装环境
- 这里的环境是
Windows11
- 首先需要创建一个虚拟环境(我这里使用的是
pipenv
) - 安装
git
- 安装依赖
pip install briefcase beeware
- 下载WIX工具集 并安装
- 这边要特别注意一点(提前说):
briefcase new
创建完项目之后,一定要使用briefcase dev
运行一遍,这样才会生成后面toga.style
的包 - 参考文章
- 创建项目:进入项目目录运行
briefcase new
- 接着需要进行一些列的设置,如下
First, we need a formal name for your application. This is the name that will
be displayed to humans whenever the name of the application is displayed. It
can have spaces and punctuation if you like, and any capitalization will be
used as you type it.
Formal Name [Hello World]:Hello xiaoqiangclub
# 对应译文
首先,我们需要为你的申请取一个正式的名字。 这个名字将会
只要显示应用程序的名称,就会显示给人们。 它
可以有空格和标点,如果你喜欢,任何大写将是
当你打字时使用。
正式名称【Hello World】:
- 接着需要给App设置名字,如下
for your application. This name must be PEP508-compliant - that means the name
may only contain letters, numbers, hyphens and underscores; it can't contain
spaces or punctuation, and it can't start with a hyphen or underscore.
Based on your formal name, we suggest an app name of 'helloxiaoqiangclub',
but you can use another name if you want.
App Name [helloxiaoqiangclub]:
# 对应译文
为您的应用程序。 这个名称必须符合pep508 -即名称
只能包含字母、数字、“-”和“_”; 它不能包含
空格或标点符号,不能以连字符或下划线开头。
基于您的正式名称,我们建议您将应用程序命名为helloxiaoqiangclub,
但如果你想,也可以用别的名字。
应用程序名称(helloxiaoqiangclub):
- 接着设置域,如下
for your application. This name must be PEP508-compliant - that means the name
may only contain letters, numbers, hyphens and underscores; it can't contain
identifier is the namespace they use to identify applications that come from
you. The bundle identifier is usually the domain name of your company or
project, in reverse order.
For example, if you are writing an application for Example Corp, whose website
is example.com, your bundle would be ``com.example``. The bundle will be
combined with your application's machine readable name to form a complete
application identifier (e.g., com.example.helloxiaoqiangclub).
Bundle Identifier [com.example]:
# 译文
为您的应用程序。 这个名称必须符合pep508 -即名称
只能包含字母、数字、“-”和“_”; 它不能包含
标识符是用来标识来自应用程序的名称空间
你。 bundle标识符通常是您公司的域名或
项目,按相反的顺序。
例如,如果你正在为example Corp编写一个应用程序,它的网站
是example.com,你的bundle会是com.example。 bundle将会是
与应用程序的机器可读名称组合,形成完整的
应用程序标识符(如com.example.helloxiaoqiangclub)。
包标识符(com.example) :
- 接着是设置项目名称,如下
Briefcase can manage projects that contain multiple applications, so we need a
Project name. If you're only planning to have one application in this
project, you can use the formal name as the project name.
Project Name [Hello xiaoqiangclub]:
# 译文
Briefcase可以管理包含多个应用程序的项目,因此我们需要一个Briefcase的
项目名称。 如果你只打算有一个应用程序项目时,可以使用正式名称作为项目名称。
项目名称【Hello xiaoqiangclub】:
- 添加描述(
注意这里不要使用中文,否则会报一个gbk编码错误
),如下
Now, we need a one line description for your application.
Description [My first application]:
# 译文
现在,我们需要一行描述您的应用程序。
描述【第一次申请】:
- 设置作者,如下
Who do you want to be credited as the author of this application? This could be
your own name, or the name of your company you work for.
Author [Jane Developer]:
# 译文
您希望谁作为这个应用程序的作者? 这可能是
你自己的名字,或者你工作的公司的名字。
描述
作者(简开发人员):
- 设置邮箱,如下
What email address should people use to contact the developers of this
application? This might be your own email address, or a generic contact address
you set up specifically for this application.
Author's Email [xiao@example.com]:
# 译文
人们应该使用什么电子邮件地址来联系这个开发人员
应用程序? 这可能是你自己的电子邮件地址,或一般的联系地址
描述您专门为此应用程序设置的。
作者的电子邮件(xiao@example.com):
- 设置应用程序的登录页的URL,如下
What is the website URL for this application? If you don't have a website set
up yet, you can put in a dummy URL.
Application URL [https://example.com/helloxiaoqiangclub]:
# 译文
这个应用程序的网址是什么? 如果你没有网站设置
到目前为止,你可以放入一个虚拟URL。
描述
应用程序URL (https://example.com/helloxiaoqiangclub):
- 许可证选择,如下
What license do you want to use for this project's code?
Select one of the following:
[1] BSD license
[2] MIT license
[3] Apache Software License
[4] GNU General Public License v2 (GPLv2)
[5] GNU General Public License v2 or later (GPLv2+)
[6] GNU General Public License v3 (GPLv3)
[7] GNU General Public License v3 or later (GPLv3+)
[8] Proprietary
[9] Other
Project License [1]:
# 译文
您想为这个项目的代码使用什么许可证?
选择下列选项之一:
[1] BSD许可
[2] MIT许可
[3] Apache软件许可证
[4] GNU通用公共许可证v2 (GPLv2)
[5] GNU General Public License v2或更高版本(GPLv2+)
[6] GNU General Public License v3 (GPLv3)
[7] GNU General Public License v3及以上版本(GPLv3+)
[8]专有
[9]其他
项目许可证[1]:
- GUI 框架设置,如下
What GUI toolkit do you want to use for this project?
Select one of the following:
[1] Toga
[2] PySide2 (does not support iOS/Android deployment)
[3] PySide6 (does not support iOS/Android deployment)
[4] PursuedPyBear (does not support iOS/Android deployment)
[5] None
GUI Framework [1]:
# 译文
您想为这个项目使用什么GUI工具包?
选择下列选项之一:
[1] Toga
[2] PySide2(不支持iOS/Android部署)
[3] PySide6(不支持iOS/Android部署)
(不支持iOS/Android部署)
[5]没有
GUI框架[1]:
- 最后,终于,终于…完成了
Application 'Hello xiaoqiangclub' has been generated. To run your application, type:
cd helloxiaoqiangclub
briefcase dev
# 译文
应用程序“Hello xiaoqiangclub”已经生成。 要运行你的应用程序,输入:
cd helloxiaoqiangclub
briefcase dev
- 最后自动生成了下面的一个目录结构
- 其它报错问题请参考官方文档
打包 打包windows应用
-
依次运行下列命令
-
运行命令
briefcase create
,创建应用的脚手架,将会生成一些预配置文件,然后下载依赖的包 -
构建应用
briefcase build
-
运行构建的应用
briefcase run
-
打包应用
briefcase package
,打包完成后,helloworld\windows目录下会生成一个 .msi 的二进制安装文件
-
官方文档
打包apk
- 依次运行下列命令
- 创建应用的安卓脚手架
briefcase create android
- 构建安卓应用
briefcase build android
- 运行一下构建好的安卓应用
briefcase run android
,这里会让选择设备,可以选择 BeeWare 提供的安卓虚拟机或者是在电脑上连接自己的手机 - 打包安卓应用
briefcase package android
- 在
helloworld/android/gradle/Hello World/app/build/outputs/apk/debug/app-debug.apk
找到打包好的文件 - BeeWare 提供了两种打包好的文件,一种是用于上架Google Play 的.aab 格式文件,一种是用于调试的 .apk 文件
- 我们在后期如果需要对创建项目时配置的内容进行修改,可以通过修改配置文件
pyproject.toml
来实现,它的位置在项目名/pyproject.toml
- 打开配置文件如下
[tool.briefcase]
project_name = "Hello Joy"
bundle = "com.example"
version = "0.0.1"
url = "https://example.com/hellojoy"
license = "BSD license"
author = 'Xiao Qiang'
author_email = "jane@example.com"
[tool.briefcase.app.helloworld]
formal_name = "Hello Joy"
description = "My first application"
icon = "src/helloworld/resources/hellojoy"
sources = ['src/helloworld']
requires = [
]
[tool.briefcase.app.helloworld.macOS]
requires = [
'toga-cocoa>=0.3.0.dev32',
'std-nslog==1.0.0'
]
[tool.briefcase.app.helloworld.linux]
requires = [
'toga-gtk>=0.3.0.dev32',
]
system_requires = [
'libgirepository1.0-dev',
'libcairo2-dev',
'libpango1.0-dev',
'libwebkitgtk-3.0-0',
'gir1.2-webkit-3.0',
]
[tool.briefcase.app.helloworld.windows]
requires = [
'toga-winforms>=0.3.0.dev32',
]
# Mobile deployments
[tool.briefcase.app.helloworld.iOS]
requires = [
'toga-iOS>=0.3.0.dev32',
'std-nslog==1.0.0'
]
[tool.briefcase.app.helloworld.android]
requires = [
'toga-android>=0.3.0.dev32',
'corpwechatbot'
]
- 我们可以通过修改上面的配置文件来进行设置更新,修改后记得保存并运行命令
briefcase update -d
更新配置 - 当我们需要将更新后的项目打包成apk就可以直接运行
briefcase update && briefcase create android && briefcase build android
- 官方文档
-
【Python自学笔记】Beeware组件Togo学习笔记
-
官方文档
-
参考文章(含报错)
-
更多内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)