Eric4 + PyQt 编写Python程序

By 0ssifrage • Coding, Uncategorized • 29 Jan 2012
转载请注明出自0ssifrage.com


简单介绍一下 Eric4 + PyQt库 编写Python程序


上学期学的编程语言是Python,大作业是一个中文分词的teamwork
本来开始打算用自带的Tkinter的GUI库来写的,但是写着写着就发现Tkinter略丑了点。。
(不过最后看到有些大神用Tkinter写的程序UI还不错)
于是就找到了个名为PyQt的Python的GUI库,效果还不错
然后配合名为Eric的IDE,编写程序还是比较方便的
下面就简单介绍下 Eric4 + PyQt 编写简单程序的流程


首先下载安装对应版本的 PyQt4 和 Eric4,这个就不用多说了。。

打开Eric4,

Project -> New 新建一个工程

Eric4 + PyQt 编写Python程序_第1张图片

然后在左侧的Forms选项卡下点击右键 -> New form 创建窗口

Eric4 + PyQt 编写Python程序_第2张图片

选择Dialog 然后保存为 DlgHelloWorld.ui

然后系统就自动打开 QtDesigner 的窗口设计器
从左边的Widget Box里向窗口拖入 2个 Push Button 和 一个Label
然后在右边的属性编辑器将这3个对象分别命名为 BtnHello BtnExit lblHello
各自的text属性设置成 “Hello” “Exit” “Hello”
于是大概就像下图

Eric4 + PyQt 编写Python程序_第3张图片

之后就是处理事件
PyQt 有信号(signal)和 槽(slot)2个概念
slot是对应signal的处理
退出程序有预定义的slot 于是就不用另外加代码
直接在右侧的 “信号/槽编辑器” 下点 “+”
发送者选 btnExit 信号选 clicked() 接受者选 Dialog 槽选 close()
保存一下 点 Ctrl+r 预览窗口 点击Exit按钮 就会发现窗口关闭了
但是点Hello按钮还是什么都没发生,于是就需要添加额外的代码
保存后退出QtDesigner

然后就发现Eric 左侧Froms选项卡下面多了个 DlgHelloWorld.ui
对其点右键 -> Compile form 就会自动生成 Ui_DlgHelloWorld.py 文件
Ui_DlgHelloWorld.py是可以直接运行的,直接打开它可以看到效果

然后就需要添加额外的代码处理hello按钮被点击的事件
还是在左侧 Forms 选项卡下的 DlgHelloWorld.ui 点右键 -> Generate Dialog Code
在弹出的对话框选New 创建一个名为 DlgHelloWorld 的类
并在下面勾选上 on_btnHello_clicked

Eric4 + PyQt 编写Python程序_第4张图片

然后点击OK
发现多了个 DlgHelloWorld.py 文件

其中有段代码为:

1
2
3
4
5
6
7
@pyqtSignature ("")
def on_btnHello_clicked( self ):
     """
     Slot documentation goes here.
     """
     # TODO: not implemented yet
     raise NotImplementedError

将其改为

1
2
3
@pyqtSignature ("")
def on_btnHello_clicked( self ):
     self .lblHello.setText( "World!" )

以添加Hello按钮的点击处理函数

最后新建一个主程序 HelloWorld.py
并添加以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
import sys
from PyQt4 import QtCore, QtGui
import DlgHelloWorld
 
def main(args):
     app = QtGui.QApplication(sys.argv)
     MainWin = QtGui.QMainWindow()
     Mwin = DlgHelloWorld.DlgHelloWorld()
     Mwin.show()
     sys.exit(app.exec_())
 
if __name__ = = "__main__" :
     main(sys.argv)

来调用 DlgHelloWorld

直接双击 HelloWorld.py 就可以运行程序了

Eric4 + PyQt 编写Python程序_第5张图片

点击Hello按钮,就会发现label的文本变为 “World!” 了~

于是第一个用Eric4 + PyQt 写的简单程序就完成了~ 。。

至于写实际复杂程序面对的问题 还是请查阅PyQt的文档(PyQt的文档还是很不错的~) 或者多Google一下吧~


你可能感兴趣的:(脚本,python)