2023年12月31日发(作者:)
学习报告
Python gui 学习报告
目录
python GUI的选择 ........................................................................................................................... 1
Tkinter ....................................................................................................................................... 1
WxPython .................................................................................................................................. 2
PyQt ........................................................................................................................................... 2
PyGTK ........................................................................................................................................ 2
编辑器的选择 ................................................................................................................................... 3
Python-tools .............................................................................................................................. 3
Python shell ............................................................................................................................... 3
iPython ...................................................................................................................................... 3
Escript ........................................................................................................................................ 4
Pycharm .................................................................................................................................... 4
GTK与Glade的学习 ........................................................................................................................ 4
“on_btnNumberTwo_clicked”:berTwo_clicked, ............................................................ 5
“on_window1_destroy”:_quit} ........................................................................................... 5
总结 ....................................................................................................................................... 6
python GUI的选择
Tkinter
1 Tkinter 似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库。Tkinter提供了一些简单的接口。和一些简单的窗口 按钮等。优点是简单,易用。缺点是功能较少。
Tkinter的安装:yum install tkinter
yum install python-imaging
yum install python-tools
Tkinter的使用:Tkinter的使用非常简单,只要用 import Tkinter 将库导入即可。
总结:值得注意的是,我发现Tkinter一定要在系统自带的python2.4版本上,才能实现导入。在我安装的python2.7,不能够实现导入。在这里,我也发现了centos系统的一些缺陷,centos系统自带的软件会比较旧,但是缺不能够用yum来更新。自己编译安装过程中,会有许多错误。根据我网上查找的资料了解,要自己重新配置yum的第三方库,因为公司本身已经不提供更1
2
3
4
学习报告
新。
WxPython
5 WxWidgets应该算是近几年了比较流行的GUI跨平台开发技术了。wxpython的功能上面要强于 tkinter,她提供了超过200个类,面向对象的编程风格。相比Tkinter,Wxpython的功能强大了很多。
WxPython的安装:下载wxpython的RPM包进行安装
WxPython 的使用与Tkinter类似,都是直接进行导入 import wx 将库导入即可。
总结:对于Wxpython只是提供gui开发的基础库,并没有开发环境。又经过一番搜索找到了几个基于wxPython的工具:boa、wxGlade、wxWidget。但是我认为这样做GUI开发,不够方便。
6
7
8
PyQt
9 PyQt是一个创建GUI应用程序的工具包。它是python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由Phil Thompson 开发。 PyQt实现了一个Python模块集。
PyQt的安装:PyQt的安装涉及到的东西比较多。因为编译PyQt要用到qmake工具,所以首先要安装的是Qt的编译环境。然后由于系统自带的sqlite3数据库和python版本太旧。先要更新版本。所以我安装了sqlite3的最先版本,和python2.7.(必须先安装sqlite数据库,再看装python)。然后是安装PyQt的依赖文件sip,然后就可以编译安装PyQt。
由于要PyQt有专门的编辑器eric4,所以我们还需要安装eric4.安装eric4前,必须先安装QScintilla-gpl-2.7,再安装eric。但是在我成功安装后却始终无法打开eric4。
总结:由于我学习的是QT编程,所以我在选择python的GUI开发时,第一个选择的便是PyQt,因为用相同的Qt库会比较好入手。而且PyQt的功能很强大,而且根据我在网上找到的资料,大多数人都认为PyQt有着不错的发展前景。但是我没有能成功安装eric的编辑器环境。但是我在寒假还是想尝试一下PyQt的开发环境的安装。一来这样可以节省很多时间,二来,Qt毕竟是我比较熟悉的开发环境,而且支持各种平台。
10
11
PyGTK
12 PyGTK让你用Python轻松创建具有图形用户界面的程序.底层的GTK+提供了各式的可视元素和功能,如果需要,你能开发在GNOME桌面系统运行的功能完整的软件。PyGTK真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等.除了简单易用和快速的原型开发能力外,PyGTK2
学习报告
13
14
15
还有一流的处理本地化语言的独特功。
PyGTK的安装:首先PyGTK你要安装GTK库,和glade编辑器。我在网上了解到GTK库已经到了3.6.x的版本,glade也已经有推出了glade3的版本。但是我在centos上安装都没有成功。因为他们依次依赖的文件太多,出现了一些我暂时还解决不了的问题。后来我只好采用系统自带的旧版的GTK库,并安装了glade2
glade的使用非常的方便,他类似QtCreate,可以直接进行布局。并别他有很全面的控件。并能够绘制出很漂亮的界面。而且保存的代码文件时用xml写的。
总结:glade十分容易就行GUI的绘制。并且有着丰富的控件,而且支持LGPL协议。而且他还支持各种鼠标、键盘等事件。只需要用python来调用它生成的文件。
编辑器的选择
Python-tools
16
17
18
Python-tools是一款简单的python交互模式的IDE,支关键字高亮等。
安装方法:yum install python-tools
总结:这款交互模式的IDE十分小巧,功能也过于简单。最主要的是在键盘输入了()后,键盘自动就没响应,一定要切换到其他程序,再切换回去,才能继续输入,这实在太不方便。
Python shell
19
20
Centos系统由于默认安装了python2.4,也可以用shell进入交互模式。
总结:系统自带的交互模式,过于简陋,只是实现最基本的功能。连语法高亮也没有。
iPython
21 ipython 是一个 python 的交互式 shell。比默认的python shell 好用得多,支持变量自动补全,自动缩近,支持 bash shell 命令。还内置了一些非常实用的函数。
安装方法: 下载源码安装 。./configure make &&make install
总结:ipython有着丰富的功能,能够在交互界面方便操作。而且安装方便。所以在交互界面,我最后选择使用ipython。
22
23
3
学习报告
Escript
24 由于考虑到以后可能会接触到大型的项目,所以光用Vim编辑器是不够的。经过资料的查找,网上推荐Escript。Escript是针对JAVA的一个平台,可以安装他的插件,使他兼容python。
安装:我使用的是yum来安装。yum install escript*
总结:由于用Centos的yum来安装,使escript的版本比较低,所以我新的python插件不支持。
25
26
Pycharm
27 由于escript不能使用。所以我又在网上寻找其他编辑器的资料。后来我发现了一款专门针对python的编辑器。PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
安装:/pycharm/ 在这个pytcharm的官方网站进行源码的下载。不过pycharm不是一个免费软件。所以我又在网上找了pycharm的注册码。
用户名:yueting3527
注册码:
===== LICENSE BEGIN =====
93347-12042010
00001FMHemWIs"6wozMZnat3IgXKXJ
2!nV2I6kSO48hgGLa9JNgjQ5oKz1Us
FFR8k"nGzJHzjQT6IBG!1fbQZn9!Vi
===== LICENSE END =====
总结:pycharm是一款强大的编辑器,支持工程的创建。支持代码的补全,报错,跳转等开发过程中实用的操作。还能在pycharm中对代码的执行测试。我觉得他完全可以QT开发环境相提并论。所以我最后也选择了pycharm作为编辑器。
28
29
GTK与Glade的学习
#!/usr/bin/env python
Import sys
try:
import pygtk
#
#导入库
#使用try 和except。并导入gtk
4
学习报告
except:
try:
except:
import os
e(“2.0”)
pass
import gtk
import
(1)
class CladeTut: #定义一个类
def__init__(self): #初始化信息
ile=”” #导入用glade写好的GUI文件
=(ile)
dic={“on_btnNumberOne_clicked”:ber_clicked,
#建立一个字典,通过进行检索。并实现一个鼠标事件。
“on_btnNumberTwo_clicked”:berTwo_clicked,
“on_window1_destroy”:_quit}
_autoconnect(dic)
def btnNumberOne_clicked(self,widget):
lblRef=_widget(“lblOutput”)
cmd=”gredt a.c”
(cmd)
def btn NumberTwo_clicked(self,widget):
lblRef=_widget(“lblOutput”)
_text("”)
if__name__==”__main__”:
fm=GladeTut()
()
5
学习报告
总结
所遇到的问题:在python掉用Vi时,不能正常弹出窗口。这个是由于vi只支持在shell终端输入在能正常。在我尝试调用其他能弹出窗口的程序时,能够正常现实。我认为在我接下来的时间,应该把重点放在对python的语法,及应用上面。毕竟刚接触python不久,在写程序时明显发现自己的不足。写起程序来很不顺手。包括了解定时器,及线程,进程方面的知识。还有另外一方面的重点是GUI。要尽快对glade以及期PyQt的了解。
致庞工
庞工:
您好。十分抱歉,报告迟了点。
最近对python的学习刚刚入门,还希望得到您的指点。虽然python是刚开始,但我还是对这门语言挺感兴趣的。最近收获的也感觉挺多的。还有报告方面,如有哪里做的不好,还请您指正。谢谢!
祝:
新年快乐,万事如意。
6


发布评论