今天易哥和大家一起学习常用工具和类库
PyQt——结合Python与Qt的GUI编程(qq_25600055)
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]
|