python GUI库(python开发gui程序)

△ Guietta:

1 一个用来生成简单的图形界面Python的GUI库。

2 国内似乎介绍的资料很少,今天我来介绍给大家,为了证明原创,我将进行整理,代码的重写,从text文本、图片显示,L标签,B按钮等基本功能,由浅入深,一秒入门。

3 主要内容:

3.1 介绍:安装和主页。
3.2 图片输出和布局。
3.3 文本输出,按钮,进度条和基本案例介绍。

python GUI库(python开发gui程序)

图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 图片来源:正版免费图库。

python GUI库(python开发gui程序)

图片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 效果图:

python GUI库(python开发gui程序)

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 效果图:

python GUI库(python开发gui程序)

△ 文字输出: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 效果图:

python GUI库(python开发gui程序)

△ 进度条:

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 效果图:

python GUI库(python开发gui程序)

△ 组合:

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 效果图:

python GUI库(python开发gui程序)

△ 计时器:

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 效果图:

python GUI库(python开发gui程序)

△ 密码输入框:

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 效果图:

python GUI库(python开发gui程序)

△ 最后:

1 入门就介绍到这里了,它是基于PySide2基础上的,比PySide2更简单好用。

2 学习和运动,工作与python不冲突。

3 赋诗一首:

代表原创。(我的这一点,向王勃学习的,末尾赋诗一首代表原创[笑哭])

图形界面一个接一个,

库多丰富简单且奇特,

运动健康学习造福哥,

本文带你我入门即可。

python GUI库(python开发gui程序)

喜欢么?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论