本篇文章给大家分享的是有关Python中的PysimpleGUI图形界面库如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
PysimpleGUI 内部封装了 tkinter,Qt(pyside2),wxPython和 Remi,Remi 用于浏览器支持,因此你很容易将你的界面搬到浏览器中而无需修改代码。如下图:
还有最吸引我的一点,就是足够简单,在几分钟内用几行代码就可以构建自定义 GUI 布局,对于初学者来说足够容易,对于高级用户来说足够强大。广泛的文档。有 100 多种内置颜色主题,200 多个示例程序[2],还经常更新。如果你玩 Raspberry Pi,也可以用这个库写界面,你说好用不好用。
通常一个 PySimpleGUI 程序包含 5 个部分,见下面代码的注释:
import PySimpleGUI as sg # Part 1 - 导入库 # 定义窗口的内容 layout = [ [sg.Text("What's your name?")], # Part 2 - 排版 [sg.Input()], [sg.Button('Ok')] ] # 创建窗口 window = sg.Window('Window Title', layout) # Part 3 - 窗口定义 # Display and interact with the Window event, values = window.read() # Part 4 - 开启主循环 window.read() # 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 - 关闭窗口
执行上述代码,会得到一个如下图所示的程序:
这仅仅是一个类似 hello world 的程序,PySimpleGUI 还可以做出更加强大的图形界面和游戏界面,
多个窗口
我看到许多新程序员都在挣扎的一件事是在他们选择的GUI工具包中打开多个窗口。 幸运的是,PySimpleGUI明确标明了如何执行此操作的说明。 实际上,他们有两种不同的“设计模式”来做这种事情。
为简便起见,我将仅展示如何执行两个活动窗口:
# -*- coding: utf-8 -*- # https://www.jianshu.com/u/69f40328d4f0 # https://github.com/china-testing/python-api-tesing # https://china-testing.github.io/ # support q group: 630011153 144081101 import PySimpleGUI as sg # Create some widgets ok_btn = sg.Button('Open Second Window') cancel_btn = sg.Button('Cancel') layout = [[ok_btn, cancel_btn]] # Create the first Window window = sg.Window('Window 1', layout) win2_active = False # Create the event loop while True: event1, values1 = window.read(timeout=100) if event1 in (None, 'Cancel'): # User closed the Window or hit the Cancel button break if not win2_active and event1 == 'Open Second Window': win2_active = True layout2 = [[sg.Text('Window 2')], [sg.Button('Exit')]] window2 = sg.Window('Window 2', layout2) if win2_active: events2, values2 = window2.Read(timeout=100) if events2 is None or events2 == 'Exit': win2_active = False window2.close() window.close()
以上就是Python中的PysimpleGUI图形界面库如何使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。