PyQt4配置与初学

时间:2022-03-09 23:00:46

1、软件安装

软件包有以下几种:

Qt,Python,Eric,PyQt

都很容易在网上下载,我就不详说了。特别要注意版本的对应。而且eric,pyqt都会在python\Lib\site-packages下生成目录,所以这两个的安装不要自定义安装路径。

官方提示,安装Eric要有以下组件:

PyQt4配置与初学


当双击Eric目录的install.py时,出现下图:

PyQt4配置与初学


2、集成PyQt到Eclipse

在eclipse中下载pydev

详细步骤可参照:http://blog.csdn.net/shibixiao/article/details/7572921

不过得强调,在下载pydev时,要去掉“只显示最新版本复选框”,保证所下版本与python版本一致!!

配置时,要注意在Force builtin里添加如下符号:

PyQt4.QAxContainer,PyQt4.Qsci,PyQt4.Qt,PyQt4.QtCore,PyQt4.QtDeclarative,PyQt4.QtDesigner,PyQt4.QtGui,PyQt4.QtHelp,PyQt4.QtMultimedia

PyQt4.QtNetwork,PyQt4.QtOpenGL,PyQt4.QtScript,PyQt4.QtScriptTools,PyQt4.QtSql,PyQt4.QtSvg,PyQt4.QtTest,PyQt4.QtWebKit,PyQt4.QtXml

PyQt4.QtXmlPatterns,PyQt4.phonon,PyQt4.uic


3、测试

  • 用designer作一个简单的widget,给Quit按钮添加一个信号槽

PyQt4配置与初学

编写python代码:

import sys
from PyQt4 import QtCore,QtGui,uic

from hello_ui import Ui_Form


app = QtGui.QApplication(sys.argv)
widget = uic.loadUi('hello.ui')
widget.show()
sys.exit(app.exec_())
注意文件后缀名是为pyw,双击即可出现窗体。单击按钮会执行槽函数退出。如果没反应,需检查代码或环境变量设置是否正确

  • 不用ui文件,直接编写进度条示例:

import sys
from PyQt4 import QtCore,QtGui

class MyProgressBar(QtGui.QWidget):
	def __init__(self,parent=None):
		QtGui.QWidget.__init__(self)

# python变量分为类变量和对象变量,凡是被self所引用的都是对象变量,
# 是对象私有的,类对象是公有的。所以self不能省
		self.setGeometry(300,300,250,150)

		self.pbar = QtGui.QProgressBar(self)
		self.pbar.setGeometry(30,40,200,25)

		self.btn = QtGui.QPushButton('Start',self)
		self.btn.setFocusPolicy(QtCore.Qt.NoFocus)
		self.btn.move(40,80)

		self.connect(self.btn,QtCore.SIGNAL('clicked()'),self.onStart)

		self.timer=QtCore.QBasicTimer()
		self.step = 0

	def timerEvent(self,event):
		if self.step >= 100:
			self.timer.stop()
			return
		self.step = self.step+1
		self.pbar.setValue(self.step)

	def onStart(self):
		if self.timer.isActive():
			self.timer.stop()
			self.btn.setText('start')
		else:
			self.timer.start(100,self)
			self.btn.setText('stop')

app = QtGui.QApplication(sys.argv)
w = MyProgressBar()
w.show()
sys.exit(app.exec_())
双击运行即可

  • 在eclipse下运行一个示例:

PyQt4配置与初学


如果熟悉Qt,那对于以上用python写的代码就没什么理解难度了。方法名都一样,形式上不一样而已。

参考网址:

PyQt学习文档:http://download.csdn.net/detail/baiwfg2/7531499

http://blog.csdn.net/achan2090/article/details/6293565

http://www.2cto.com/kf/201110/106640.html

http://schi.iteye.com/blog/507822