一、flexx
github:https://github.com/flexxui/flexx
体验demo:http://demo.flexx.live/
一共四种功能,ui比较简单
聊天室,画画,走势图,估计版本还有很大升级空间,没事
Flexx 是一个纯 Python 工具包,用来创建图形化界面应用程序。其使用 Web 技术进行界面的渲染。你可以用 Flexx 来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档。因为使用纯 Python 开发,所以 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行。如果是使用桌面模式运行,推荐使用 Firefox 。
Flexx 使用模块化设计,包含一些子系统:
估计还是需要一些例子的讲解才能会灵活使用
官方文档(英文):https://pypi.org/project/htmlPy/
没写到python3.5是否支持
htmlPy 是对 PySide 的 QtWebKit 库的 Python 封装。可以用 HTML5 和 CSS3 来开发漂亮的图形界面应用程序。基于 Qt 构建,具备高度可定制以及跨平台支持。兼容 Python2 和 Python3.可用于任何 Python 库和环境,如 django, flask, scipy, virtualenv 等。也可以使用前端框架,如 bootstrap, jQuery, jQuery UI 等。
一个 htmlPy 基本应用包含如下三个组件:
后端:back_end.py
import htmlPy
class BackEnd(htmlPy.Object):
def __init__(self, app):
super(BackEnd, self).__init__()
self.app = app
@htmlPy.Slot()
def say_hello_world(self):
self.app.html = u"Hello, world"
GUI: main.py
import htmlPy
from back_end import BackEnd
app = htmlPy.AppGUI(
title=u"Sample application")
app.maximized = True
app.template_path = "."
app.bind(BackEnd(app))
app.template = ("index.html", {})
if __name__ == "__main__":
app.start()
前端:index.html
<html>
<body>
<a
href="BackEnd.say_hello_world"
data-bind="true">
Click to say "Hello, world"
</a>
</body>
</html>
Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:
(网上查了一下评论,说是东西都能写出来,但是很累,而且最后一次更新在2009年,虽然是标准库,但是真的很丑,所以不推荐)
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。
import tkinter
创建一个GUI程序
实例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import Tkinter
top = Tkinter.Tk()
# 进入消息循环
top.mainloop()
以上代码执行结果如下图:
实例2:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from Tkinter import * # 导入 Tkinter 库
root = Tk() # 创建窗口对象的背景色
# 创建两个列表
li = ['C','python','php','html','SQL','java']
movie = ['CSS','jQuery','Bootstrap']
listb = Listbox(root) # 创建两个列表组件
listb2 = Listbox(root)
for item in li: # 第一个小部件插入数据
listb.insert(0,item)
for item in movie: # 第二个小部件插入数据
listb2.insert(0,item)
listb.pack() # 将小部件放置到主窗口中
listb2.pack()
root.mainloop() # 进入消息循环
以上代码执行结果如下图:
安装:http://www.rpmfind.net/linux/rpm2html/search.php?query=wxPython
教程:http://blog.topspeedsnail.com/archives/1190
PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。
官网:https://riverbankcomputing.com/software/pyqt/intro
PyQt教程:http://code.py40.com/category/asc6
kivy是一个开源的Python库,目的是快速开发GUI用户界面,特别是多点触摸应用程序。Kivy和python一样具有出色的跨平台特性,使用Kivy编写的程序可以在Windows,Linux,和mac OSX系统之间无缝切换运行,而且具有本地显示效果,特别对触摸屏应用的支持较好,在非触摸屏上也可以配合鼠标模拟触摸效果。Kivy甚至可以运行在android和IOS设备上,具有极强的跨平台能力。
中文文档1.9.1:https://www.kancloud.cn/gthank/kivydoc/127792
github:https://github.com/kivy/kivy-website/
教程1:https://www.cnblogs.com/HacTF/p/8142364.html
教程2:https://www.colabug.com/2116514.html
在ubuntu 14.04下面安装kivy非常简单,基本上一条命令就可以解决,
apt-get install python-kivy
www.kivy.org
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
这个例子比较简单。但是,我觉得不足以说明kivy的本质,充其量表明kivy可以生成一个app,app里面有一个按钮而已。
from kivy.app import App
from kivy.lang import Builder
kv = Builder.load_string('''
Button:
text: "I was created by kv codes"
''')
class TestApp(App):
def build(self):
return kv
TestApp().run()
要说代表性,我觉得这个代码最能体现kivy的与众不同。因为kv数据可以用来描述app,而python代码可以用来运行app逻辑,两者配合巧妙,用来做app实在是太适合了。如果想让自己的代码运行在android上,只需要kivy+qpython打包就可以了。
关于kivy更多的代码,大家可以用ubuntu下载,
sudo apt-get install python-kivy-examples
官网:https://pypi.org/project/PyGTK/
PyGTK+Glade可以很方便设计程序,图形界面用XML保存,然后动态解析
中文教程:https://blog.csdn.net/qq_21398167/article/details/46349061
官网:https://pypi.org/project/PyGTK/
1.flexx:https://www.oschina.net/p/flexx
2.htmlpy:https://www.oschina.net/p/htmlpy
3.Tkinter:http://www.runoob.com/python/python-gui-tkinter.html
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有