当前位置: 首页 > 软件库 > 程序开发 > GUI开发框架 >

PySimpleGUI

Python GUI 工具包
授权协议 LGPL-3.0
开发语言 Python
所属分类 程序开发、 GUI开发框架
软件类型 开源软件
地区 不详
投 递 者 农飞星
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

PySimpleGUI 是一个 Python 软件包,它使所有水平的 Python 程序员都能创建 GUI。将 tkinter、Qt、WxPython 和 Remi(基于浏览器)GUI 框架转化为更简单的界面。通过使用初学者理解的 Python 核心数据类型(列表和字典),简化了窗口定义。通过将事件处理从基于回调的模式改为消息传递的模式,进一步简化了程序。

PySimpleGUI 代码比直接使用底层框架编写更简单、更短,因为 PySimpleGUI 为你实现了许多"boilerplate code"。此外,接口被简化为需要尽可能少的代码来获得所需的结果。根据所使用的程序和框架,一个 PySimpleGUI 程序可能需要 1/2 到 1/10 的代码来直接使用其中一个框架来创建一个相同的窗口。

虽然目标是封装/隐藏你在上面运行的 GUI 框架所使用的特定对象和代码,但如果需要,你可以直接访问框架的附属部件和窗口。如果一个设置或功能还没有使用 PySimpleGUI的API 暴露或访问,你就不会与框架隔阂。你可以在不直接修改 PySimpleGUI 包本身的情况下扩展功能。

你的代码不需要有一个面向对象的架构,这使得包可以被更多的人使用。虽然架构简单易懂,但它不一定限制你只能解决简单的问题。

示例一:

一个简单的 PySimpleGUI 程序剖析

PySimpleGUI 程序有 5 个部分

import PySimpleGUI as sg                        # Part 1 - The import

# Define the window's contents
layout = [  [sg.Text("What's your name?")],     # Part 2 - The Layout
            [sg.Input()],
            [sg.Button('Ok')] ]

# Create the window
window = sg.Window('Window Title', layout)      # Part 3 - Window Defintion
                                                
# Display and interact with the Window
event, values = window.read()                   # Part 4 - Event loop or Window.read call

# Do something with the information gathered
print('Hello', values[0], "! Thanks for trying PySimpleGUI")

# Finish up by removing from the screen
window.close()                                  # Part 5 - Close the Window

该代码生成了这个窗口:

示例二:

import PySimpleGUI as sg

# Define the window's contents
layout = [[sg.Text("What's your name?")],
          [sg.Input(key='-INPUT-')],
          [sg.Text(size=(40,1), key='-OUTPUT-')],
          [sg.Button('Ok'), sg.Button('Quit')]]

# Create the window
window = sg.Window('Window Title', layout)

# Display and interact with the Window using an Event Loop
while True:
    event, values = window.read()
    # See if user wants to quit or window was closed
    if event == sg.WINDOW_CLOSED or event == 'Quit':
        break
    # Output a message to the window
    window['-OUTPUT-'].update('Hello ' + values['-INPUT-'] + "! Thanks for trying PySimpleGUI")

# Finish up by removing from the screen
window.close()

  • 一、 控件更新 1. Text window['-fill1-'].update(value='') #清空内容 window['-totalScore-'].update(value='%.2f' % totalScore) #更新内容 2. Button sg.Button('多选题', key='-type2-', size=(6, 1), font=('宋体', 11),

  • PySimpleGUI 底层GUI框架及其状态 The Underlying GUI Frameworks & Status of Each 目前有四个积极开发和维护的 PySimpleGUI“端口”。它们包括: tkinter - 完全完成 使用 Pyside2 的 Qt - Alpha 阶段。并非所有元素的所有功能都已完成 WxPython - 开发阶段,预发布版。并非所有元素都已完成。多个窗

  • 代码如下: #!/usr/bin/env python3 import _thread import os import random import sys import time from collections import Counter import PySimpleGUI as sg # def load_name_list(file='names.csv'): wit

  • PySimpleGUI 主要的作用是成为Tkinter, wxPython和PyQt之上的抽象层,可以将其视为Tkinter, wxPython和PyQt的包装器。 PySmpleGUI, 基本上分成三大部份: 1,视窗布局 所有的部件Element 类似tkinter 中的部件Widget, 同样有一堆选项, 绝大部份的选项都有预设值, 通常, 可能只要设置几项就够用了. 比如按钮, 要设置是上

  • 1.pysimpleGUI 基于 GUI tkinter,Qt,Remi,WxPython转换为可移植的用户友好型Pythonic界面 https://pysimplegui.readthedocs.io/en/latest/#pysimplegui-users-manual

  • 根据PySimple文档,简单的使用一些控件, 代码片. // An highlighted block import time import PySimpleGUI as sg def CreatForm(): sg.theme('DarkAmber') # 所有窗口控件都可放在一个layout中 layout = [ # 下拉选择框可以是自定

  • Window 通过sg.Window显示提示信息,并按指定键退出。指定键退出可以外部实现。 def showTips(): sg.theme('Dark2') layout = [[sg.Text('流程录制中')], [sg.Text('按esc退出')], [sg.InputText()]] window = sg.Window(

  • 弹窗相关库笔记 PySimpleGUI库引入 import PySimpleGUI as sg 这是一个基于thinker库开发的库,主要实现各种弹窗功能 简易显示界面 普通弹窗 sg.popup('默认弹窗') sg.popup_ok('默认弹窗') sg.popup_yes_no('带YES和NO按钮的弹窗') sg.popup_cancel('带cancel按钮的弹窗') sg.popup

  • PySimpleGUI 什么时候有用呢?显然,是你需要 GUI 的时候。仅需不超过 5 分钟,就可以让你创建并尝试 GUI。最便捷的 GUI 创建方式就是从 PySimpleGUI 经典实例中拷贝一份代码============》直接看下面的例程就可以了 使用手册(官方手册)==》https://pysimplegui.readthedocs.io/en/latest/cookbook/ 安装 p

 相关资料
  • 工具包提供了大量的通用实用函数去编写 dapps、处理用户输入和格式化数据等功能。 地址相关函数 There are several formats available to represent Ethereum addresses and various ways they are determined. utils . getAddress ( address )   =>   Address

  • 龙虎牛熊多头合约池 接口名称 long_pool 接口描述 龙虎牛熊多头合约池接口 请求参数 参数名 说明 举例 date 查询日期 2018-08-08 返回参数 参数名 类型 说明 symbol string 品种编码 code string 合约代号 示例代码 from akshare import pro_api pro = pro_api(token="在此处输入您的token,可以通过

  • 工具 客户端 客户端分为三种:完整客户端、轻量级客户端和在线客户端。 完整客户端:存储所有的交易历史记录,功能完备; 轻量级客户端:不保存交易副本,交易需要向别人查询; 在线客户端:通过网页模式来浏览第三方服务器提供的服务。 钱包 矿机 专门为“挖矿”设计的硬件,包括基于 GPU 和 ASIC 的芯片。 脚本 比特币交易支持一种比较简单的脚本语言(类 Forth 的栈脚本语言),可以写入 UTXO

  • 工具 以下的一些工具可以帮助你自动检查项目中的 Ruby 代码是否符合这份指南。 RuboCop [RuboCop][] 是一个基于本指南的 Ruby 代码风格检查工具。RuboCop 涵盖了本指南相当大的部分,其同时支持 MRI 1.9 和 MRI 2.0,且与 Emacs 整合良好。 RubyMine RubyMine 的代码检查部分基于本指南。

  • 10.7. 工具 本章剩下的部分将讨论Go语言工具箱的具体功能,包括如何下载、格式化、构建、测试和安装Go语言编写的程序。 Go语言的工具箱集合了一系列的功能的命令集。它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于包的查询、计算包的依赖关系、从远程版本控制系统下载它们等任务。它也是一个构建系统,计算文件的依赖关系,然后调用编译器、汇编器和链接器构建程序,虽然它故意被设计成

  • vse命令行工具 yocode扩展生成器 范例

  • 提供各种支付需要的配置生成方法。 配置 <?php use EasyWeChat\Pay\Application; $config = [...]; $app = new Application($config); $utils = $app->getUtils(); 注意 生成支付 JS 配置 有四种发起支付的方式:WeixinJSBridge, JSSDK, 小程序支付, APP We

  • CoreOS 内置了 服务发现,容器管理 工具。 服务发现 CoreOS 的第一个重要组件就是使用 etcd 来实现的服务发现。在 CoreOS 中 etcd 默认以 rkt 容器方式运行。 etcd 使用方法请查看 etcd 章节。 容器管理 第二个组件就是 Docker,它用来运行你的代码和应用。CoreOS 内置 Docker,具体使用请参考本书其他章节。