大家好,欢迎来到IT知识分享网。
1 说明:
1.1 环境:华为笔记本电脑,深度deepin-linux操作系统,python3.8,微软vscode编辑器,谷歌浏览器。
1.2 Toga:是一款Python 原生GUI 工具包,国外非常火,国内教程基本没有。
1.3 亲测,避免掉坑,通俗易懂,兼Toga的基本教程。
2 官网地址:
https://github.com/beeware/toga https://toga.readthedocs.io/en/latest/
3 安装:
3.1 走官方安装教程:
python3 -m venv venv #python3.8 -m venv venv #本机安装 source venv/bin/activate
3.2
sudo apt-get install python3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev sudo apt-get update sudo apt-get install python3-dev libgirepository1.0-dev libcairo2-dev libpango1.0-dev libwebkitgtk-3.0-0 gir1.2-webkit-3.0
3.3 额外包:
sudo apt-get install gir1.2-webkit2-4.0
3.4
pip install --pre toga #pip3.8 install --pre toga #本机安装
pip install --pre toga-demo #pip3.8 install --pre toga-demo #本机安装
3.5 报错:
WARNING: The script toga-demo is installed in ‘/usr/local/python3.8/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
Successfully installed gbulb-0.6.1 pycairo-1.19.1 pygobject-3.36.1 toga-0.3.0.dev18 toga-core-0.3.0.dev18 toga-demo-0.3.0.dev19 toga-gtk-0.3.0.dev18 travertino-0.1.2
WARNING: You are using pip version 20.1; however, version 20.1.1 is available.
You should consider upgrading via the ‘/usr/bin/python3.8 -m pip install –upgrade pip’ command.
3.5.1 提示没有建立软连接:
ln -s /usr/local/python3.8/bin/toga-demo /usr/bin/toga-demo
3.5.1 升级pip
python3.8 -m pip install --upgrade pip #本机升级方法
4 打开toga-demo:
4.1 打开终端:输入:toga-demo
4.2 效果图:
5 helloworld.py官方代码:
import toga def button_handler(widget): print("hello") def build(app): box = toga.Box() button = toga.Button('Hello world', on_press=button_handler) button.style.padding = 50 button.style.flex = 1 box.add(button) return box def main(): return toga.App('First App', 'org.beeware.helloworld', startup=build) if __name__ == '__main__': main().main_loop()
官方文档写的不仔细,我从新解读。
6 简单的一个窗口生成:
#导出模块 import toga #定义app,标题名(formal_name):First App #app = toga.App(formal_name='First App') #注意如果这样写,必须后面跟一个字符串,就是id,我这是随意写的 app = toga.App('First App','xxx') app.main_loop()
7 按钮功能
#导出模块 import toga #def button_handler(widget): #随意定义一个参数:当然要有意义指代 #buprter=button print terminal=按钮打印终端 def button_handler(buprter): print("hello") def build(app): box = toga.Box() button = toga.Button('Hello world', on_press=button_handler) #button.style.padding = 3 #button.style.flex = 1 box.add(button) return box app = toga.App('First App','xxx',startup=build) app.main_loop()
8 label标签显示
#导出模块 import toga def build(app): box = toga.Box() label = toga.Label('Hello world') box.add(label) return box app = toga.App('First App','xxx',startup=build) app.main_loop()
9 三组label标签文本
#导出模块 import toga def build(app): box = toga.Box() labelx = toga.Label('Hello world') labelx.style.padding = 1 labelx.style.flex = 1 labely = toga.Label('Good GUI') labely.style.padding = 1 labely.style.flex = 1 labelz = toga.Label('Toga is python3 GUI') labelz.style.padding = 1 labelz.style.flex = 1 box.add(labelx) box.add(labely) box.add(labelz) return box app = toga.App('First App','xxx',startup=build) app.main_loop()
由于中文文档比较少,先介绍到这里。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/73153.html