PySide教程之Hello PySide
PySide 是一个python绑定的跨平台GUI Qt库。目前,支持Python的Qt库有两个PyQt和PySide。PySide是一个免费的软件,与PyQt不同之处在于使用了LGPL,允许PySide免费的开发商业软件。
PySide有15个模块。这些模块支持对GUI,多媒体,XML,网络以及数据库进行操作。本教程的目的主要是学习其中的两个模块:QtCore和QtGui。
QtCore是非界面功能模块,主要对文件目录,数据类型,输入输出流,url以及线程等提供支持。QtGui提供了对常见界面元素的支持,例如,对话框,窗口,状态栏,工具栏等等。
首先从Hello world开始
1 #!/usr/bin/python 23 # Import PySide classes 4import sys 5from PySide.QtCore import * 6 from PySide.QtGui import * 78 9 # Create a Qt application10 app = QApplication(sys.argv)11# Create a Label and show it12 label = QLabel("Hello World")13label.show()14# Enter Qt application main loop15app.exec_()16 sys.exit()
编写PySide的桌面应用,首先要导入QtCore和QtGui,因为这些类包含了应用中主要功能。QtGui包含界面元素,QtCore包含处理信号和槽的函数等等。在导入模块完成之后,需要创建QApplication的对象,该对象需要从命令行中接受参数,因此需要想QApplication中传递sys.argv。然后,为了让Hello world顺利出现,需要给一个QLabel对象。最后调用show方法显示label。
app.exec_()将会进入Qt的主循环中不停的轮询侦听信号,接受到信号后,就寻找与处理信号的句柄即槽函数。
sys.exit() 就是退出。
Tips :
最后两句一般写成: sys.exit(app.exec_())
这里,之所以写成app.exec_() 而不是app.exec() 是因为exec是python中的关键字,所以Qt使用exec_避开。
另外,在PySide中可以使用html标签使内容更加丰富例如:
label = QLabel("<font color=red size=40>Hello World</font>")
下一篇: Android动态修改icon方法