△ Guietta:
1 一个用来生成简单的图形界面Python的GUI库。
2 国内似乎介绍的资料很少,今天我来介绍给大家,为了证明原创,我将进行整理,代码的重写,从text文本、图片显示,L标签,B按钮等基本功能,由浅入深,一秒入门。
3 主要内容:
3.1 介绍:安装和主页。
3.2 图片输出和布局。
3.3 文本输出,按钮,进度条和基本案例介绍。
图1
△ 介绍:
1 安装:
pip install guietta
#本机安装
sudo pip3.8 install guietta #太卡
#换做这个
#推荐安装时间早上8点,否则太卡了
sudo pip3.8 install -i https://pypi.tuna.tsinghua.edu.cn/simple guietta
2 主页:
https://github.com/alfiopuglisi/guietta
https://guietta.readthedocs.io/en/stable/
△ 图片显示:
1 图片来源:正版免费图库。
图片2:ssh.png
2 单张图片显示的代码:
# -*- coding: utf-8 -*-
#单张图片显示
import os.path #路径管理
from guietta import B, L,Gui
gui = Gui(
#方法一:直接加载图片法,推荐
[ 'ssh.png'],
#方法二:L=label=文本、图片标签
#[ L('ssh.png')],
#方法三:B=Button=按钮和按钮图片设置
#[ B('ssh.png')],
#标题名
title='运动学习健康ssh',
#当前文件夹下的这张图片
images_dir = os.path.dirname(__file__)
)
gui.run()
2 效果图:
4 多张图片显示和布局:
# -*- coding: utf-8 -*-
#多张图片显示和布局
#布局:_是Empty grid cell
#备注:new.png是ssh.png的图片,自定义提前修改大小为500和500
import os.path
from guietta import B, L, _, Gui
gui = Gui(
#方法三:B=Button=按钮和按钮图片设置
[ _,_,B('new.png')],
#方法一:直接法
[ _,'new.png',_],
#方法二:L=label=文本、图片标签
[ L('new.png'),_,_],
title='运动学习健康new',
#当前文件夹下的这张图片
images_dir = os.path.dirname(__file__)
)
gui.run()
5 效果图:
△ 文字输出:Helloworld
1 代码
# -*- coding: utf-8 -*-
from guietta import Gui,L,B
gui = Gui(
#位置默认
['1 直接法:Helloworld==你好世界'],
[L('2 L标签法:Helloworld==你好世界')],
[B('3 B按钮法:Helloworld==你好世界')],
#额外补充:文字居中显示方法
# ['<center>你好世界</center'],
#标题名
title='你好世界',)
gui.run()
2 效果图:
△ 进度条:
1 代码:
# -*- coding: utf-8 -*-
#P是进度图函数
from guietta import Gui, P, Empty,_
gui = Gui(
['完成进度百分比:', P('progress') ,_,'动态展示效果'],
title='进度条',)
gui.widgets['progress'].setFormat('%p%')
for counter in range(101):
try:
name, event = gui.get(timeout=0.1)
#初始化:空格时
except Empty:
pass
#gui.progress就是调用P的'progress'
gui.progress = counter
gui.run()
2 效果图:
△ 组合:
1 代码注释和讲解清楚:
#III是垂直容器
#C=checkbox,是多选框
#R=radiobox,是单选框
#G=GroupBox,组合框
#QMessageBox,弹出信息框 QMessageBox.information
from guietta import Gui, _, HSeparator, C, G, R, ___, III, QMessageBox
mygui= Gui(['<center>多选框和单选框等布局</center'],
[HSeparator], #分割线
[ '多选框' , '单选框', ['点我_展开选择框组合'] ],
[G('Inner GUI') , ___ , _ ],
[ III , III , '附加文字1' ],
[ '附加文字2' , '附加文字3', _ ],
title='选择框组合等学习')
#'__editbox__'这是一种输入框的布局,里面的单词是变量
#下划线大于2个才是输入框调出
#注意: ['点我_弹出信息框']默认是按钮形式,
#用中文,是说明按钮的gui.中文的属性,如何调用按钮功能
#等同于B('点我_弹出信息框')
subgui = Gui( [C('checkbox'), '__editbox__'],
[R('radiobox') , ['点我_弹出信息框'] ])
subgui.点我_弹出信息框 = lambda x: QMessageBox.information(None, "弹出框",
"这是一个弹出信息框,展示多选框后面的输入框内容: "
+subgui.editbox)
with mygui.点我_展开选择框组合:
if mygui.is_running:
mygui.InnerGUI = subgui
mygui.run()
2 效果图:
△ 计时器:
1 代码:
# -*- coding: utf-8 -*-
from guietta import Gui, Quit, _
#函数定义
counter=0
def regular_update(gui):
global counter
counter += 1
gui.counter = counter
def reset(gui):
global counter
counter=0
def stop(gui):
gui.timer_stop()
def start(gui):
gui.timer_start(regular_update, interval=0.1)
gui = Gui(
[['开始'], ['停止'], ['重置']],
[ _ , 'counter' ,Quit],
title='计时器',)
#窗口的事件绑定
gui.events(
#三个按钮的功能事件的绑定和调用
[ start , stop , reset ],
#这一行没有事件绑定
[ _ , _ , _ ], )
start(gui)
gui.run()
2 效果图:
△ 密码输入框:
1 代码:
# -*- coding: utf-8 -*-
from guietta import Gui, QMessageBox, PW
gui = Gui(
[ '请输入密码:', PW('password') , ['OK'] ],
title='密码输入框和弹出信息框',
)
with gui.OK, gui.password:
if gui.is_running:
if gui.password == '5201314':
QMessageBox.information(None, "正确!", '正确!')
else:
QMessageBox.information(None, "错误!", '错误!')
gui.run()
2 效果图:
△ 最后:
1 入门就介绍到这里了,它是基于PySide2基础上的,比PySide2更简单好用。
2 学习和运动,工作与python不冲突。
3 赋诗一首:
代表原创。(我的这一点,向王勃学习的,末尾赋诗一首代表原创[笑哭])
图形界面一个接一个,
库多丰富简单且奇特,
运动健康学习造福哥,
本文带你我入门即可。
喜欢么?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。