Python开发GUI界面, 可以使用pyQT或者wxpython。 不过不论pyQT还是wxpython都需要比较多的学习成本。Python工程往往是用于快速开发的,有些时候引入pyQT,wxpython会让python工程变得比较复杂。

在很多情况下,python开发的都是命令行程序,用户很多时候抱怨最大的不是程序的输出,而是命令行的参数需要记忆。所以很多时候,python命令行程序并不需要整个程序都是GUI,只需要命令行输入替换为GUI, 程序的设置替换为GUI就可以了。

比如说,git命令功能很强大,对于初学者而言,最大的困难就在于git命令如何写,git命令执行结果在terminal中输出,大部分人还是勉强可以接受的。

这里介绍一个Python框架,可以快速的设计出GUI。可以说是目前最简单的python GUI开发框架。

pyFormUI基于wxpython设计的,不过对wxpython进行了完全封装。使用时不用了解wxpython.

安装pyFormUI

1.下载pyFormUI

pyFormUI在:

https://github.com/jeffchau1979/pyFormUI

git clone https://github.com/jeffchau1979/pyFormUI.git

2.安装wxpython

sudo apt-get install python-wxtools
3.进入Demo
python Demo.py

可看到执行结果:

编写pyFormUI程序

可以参考Demo目录下的SimpleDemo.py ,SimpleDemo.xml这个例子来创建pyFormUI程序。

1.程序的界面是采用XML定义的

<?xml version="1.0"?>
<form title="Demo GUI" width='500' height='100'>
<line>
<static title="Text:" width='50' />
<text id='id_text'/>
</line>
<line align="right">
<button id='id_ok' title='Ok'/>
</line>
</form>
2. 然后加载xml界面,并显示,这部分代码按如下模版写就可以了。
from FormUI import *
builder = Builder()
builder.loadLayout('demo.xml')
formUI = FormUI(builder)
formUI.show()

3. 对xml中定义的控件,添加处理

def OkButtonHandler(windowHandler, handlerPara):
  print handlerPara.getValue('id_text')
windowHandler.closeWindow()
builder.setCtrlHandler('id_ok', OkButtonHandler)
 

编写pyFormUI程序时,要做的就是在xml中定义界面布局, 然后对控件添加处理。
如果还有问题未能得到解决,搜索887934385交流群,进入后下载资料工具安装教程等。最后,感谢观看!

简单的Python GUI界面框架的更多相关文章

  1. 简单的python GUI例子

    写一个简单的界面很容易,即使是什么都不了解的情况下,这个文本转载了最简单的界面编写,下个文本介绍了TK的简单但具体的应用 在python中创建一个窗口,然后显示出来. from Tkinter imp ...

  2. 一个简单的python线程池框架

    初学python,实现了一个简单的线程池框架,线程池中除Wokers(工作线程)外,还单独创建了一个日志线程,用于日志的输出.线程间采用Queue方式进行通信. 代码如下:(不足之处,还请高手指正) ...

  3. Python GUI界面编程

    常用GUI框架 wxPython 安装wxPython pip install -U wxPython C:\Users> pip install -U wxPython Collecting ...

  4. Python GUI界面开发环境配置:Pycharm+PyQt5

    通过DoS命令行执行如下命令,可能需要管理员权限. 检查Python版本:python 更新pip版本:python -m pip install --upgrade pip 安装PyQt5: pip ...

  5. Flask-最简单的Python http服务框架使用

    环境准备 Python + pip + Flask sudo easy_install pip sudo pip install flask 代码如下(做了个jieba分词的服务) # encodin ...

  6. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  7. Python 图形界面(GUI)设计

    不要问我为什么要用 Python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,Python 图形界面有以下几个可行度比较高的解决方案. 1. py ...

  8. python图形界面(GUI)设计

    不要问我为什么要用 python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,python 图形界面有以下几个可行度比较高的解决方案. 1. py ...

  9. python GUI实战项目——tkinter库的简单实例

    一.项目说明: 本次通过实现一个小的功能模块对Python GUI进行实践学习.项目来源于软件制造工程的作业.记录在这里以复习下思路和总结编码过程.所有的源代码和文件放在这里: 链接: https:/ ...

随机推荐

  1. Python装饰器(Decorators )

    http://book.pythontips.com/en/latest/decorators.html 在<Built-in Functions(3.6)>和<Python上下文管 ...

  2. 增加sudo用户访问oracle

    增加zgy用户可以访问数据库[root@DBDATA ~]# useradd zgy--设置密码[root@DBDATA ~]# passwd zgy--设置组[root@DBDATA ~]# use ...

  3. 文件迁移到FileTable中

    看此文档前,先参考一下文档 https://blog.csdn.net/downmoon/article/details/24374609 环境:阿里云ECS SQL Server 2017 + De ...

  4. ArrayList 与数组的“纠缠不清”的暧昧

    目录 前言 正话(个人的见解,有误请多指教) 惯例先明白它是什么? 那么它有什么用呢? 怎么用 前言 能不能有一种数组可以在删除掉某些元素自动缩小就好了.可是话说哪里学的Java?数组能删除元素吗?今 ...

  5. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值5

    CSS综合实例 在Web页面中经常使用栏目显示分类内容.本例将使用HTML和CSS结合编写一个分类栏目模型,用于演示前面介绍的CSS应用.通过使用独立的文件定义样式表,并在HTML文档中使用link标 ...

  6. 2019年全国高校计算机能力挑战赛初赛C++语言解答

    1; 题目一 16.电商促销某种商品时,希望通过打折鼓励消费者组团消费.已知,团队消费金额=该团的人数和*商品单价.打折规则如下:当组团消费者数量不满50人时,商品消费金额没有折扣:消费者数量大于等于 ...

  7. 关于Oracle数据库的rownum应用

    它是Oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,以此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀. 如以下语句将无法 ...

  8. 手把手教你制作Jlink-OB调试器(含原理图、PCB、外壳、固件)

    前言 好久没更新博客和公众号了,感谢大家还没取关哈,好吧,我承认是我太懒了,今天分享一个福利! 趁着前段时间嘉立创和捷配打价格战,一天之内,多次降价,看着真是热闹.捷配降到最低3元一款,而嘉立创降到最 ...

  9. Airtest 之 游戏自动化(5分钟教你王者农药刷金币)

    一.准备工作: 1)安装腾讯手游助手,下载王者荣耀,安装启动( 你也可以直接连接手机启动游戏,或者使用其他的模拟器  ) 2)安装AirtestIDE,在设备窗中连接游戏Windows(详情参考笔者另 ...

  10. thymeleaf Exception processing template "xxx": Exception parsing document: template="xxx", line 6 - column 3报错解决的几种方法

    我是在SpringBoot项目使用Thymeleaf作为模板引擎时报的错误 controller代码非常简单,如下所示: @RequestMapping("/abc") publi ...