http://www.eefocus.com/nightseas/blog/15-05/312675_3e518.html
PyQt是Python下的另一套图形界面接口库,顾名思义就是在Python中调用Qt图形库和组件。使用PyQt的优点在于可以使用Qt成熟的IDE(如Qt Creator)进行图形界面设计,并自动生成可执行的Python代码。
1.1.PyQt的安装和使用
PyQt可以通过apt-get命令安装,其对应Python 2.x 和Python 3.x的包名称不同。
安装Python 2.x下的PyQt:
$ sudo apt-get install python-pyqt4 pyqt4-dev-tools
安装Python 3.x下的PyQt:
$ sudo apt-get install python3-pyqt4 pyqt4-dev-tools
获取PyQt的文档和范例程序(非必须):
$ sudo apt-get install python-qt4-doc
获取到的范例程序保存在/usr/share/doc/python-qt4-doc/examples目录下找到。
2D绘图
对话框演示
FTP客户端(网络编程)演示
OpenGL 3D绘图
下面我们通过一段代码演示PyQt的使用。新建Python文件,命名为hello_pyqt.py,代码内容如下:
import sys
from PyQt4 import QtCore, QtGui
class HelloPyQt(QtGui.QWidget):
def __init__(self, parent = None):
super(HelloPyQt, self).__init__(parent)
self.setWindowTitle("PyQt Test")
self.textHello = QtGui.QTextEdit("This is a test program written in python with PyQt lib!")
self.btnPress = QtGui.QPushButton("Press me!")
layout = QtGui.QVBoxLayout()
layout.addWidget(self.textHello)
layout.addWidget(self.btnPress)
self.setLayout(layout)
self.btnPress.clicked.connect(self.btnPress_Clicked)
def btnPress_Clicked(self):
self.textHello.setText("Hello PyQt!\nThe button has been pressed.")
if __name__=='__main__':
app = QtGui.QApplication(sys.argv)
mainWindow = HelloPyQt()
mainWindow.show()
sys.exit(app.exec_())
在本例中,所有的PyQt控件都封装在HelloPyQt类中。首先添加了一个QTextEdit 控件textHello和QPushButton控件btnPress,然后通过self.btnPress.clicked.connect()语句将btnPress按钮的clicked信号连接至btnPress_Clicked()函数。
如此当按钮被按下时,会触发clicked事件,进而调用btnPress_Clicked()函数。该函数的功能就是改变textHello中的文本。
[url=][/url]欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |