PySide由Qt的官方团队--Nokia Qt进行维护,集成了Qt和Python的优势。Python通过PySide调用Qt库,开发Qt程序!Pyside应该代表着未来,而且有更Pythonic的API,比如String类型直接用Python的内置str类型,遂选择了Pyside。
一个PySide程序员只需要使用简单的Python语言就能够发挥Qt的所有功能。PySide拥有LGPL2.1版授权许可,允许进行免费/开源软件和私有商业软件的开发。Matplotlib,PhotoGrabber,Wing IDE,Lucas Chess,Fminer等应用程序均使用PySide开发,另外,PySide Mobility工程还允许python访问Qt Mobile API,这对你进行移动开发是很有帮助的。
Pyside开发步骤小记:
1.用QtCreator绘制界面界面
稍微复杂一些时,用QtCreator绘制界面,摆放控件,比较直观、方便。界面完成后会生成一个Qt的ui文件,其实就是一个xml文件,描述了各控件的类型、位置及其他一些属性。
2.用uic.py处理上面生成ui文件
然后用Pyside包自带的脚本uic.py处理ui文件,生成一个py文件,然后在Python脚本中import该py文件即可。在命令行里先切换到Pyside包的scripts文件夹,以我机器上安装路径为例,处理命令如下:
[html] view plaincopy
cd C:\Python32\Lib\site-packages\PySide\scripts
uic.py -o e:\testui.py e:\test.ui
最后生成的脚本文件大致如下:
[python] view plaincopy
from PySide import QtCore, QtGui
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(562, 566)
self.label = QtGui.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(20, 20, 54, 12))
self.label.setObjectName("label")
self.srcPathText = QtGui.QPlainTextEdit(Dialog)
self.srcPathText.setGeometry(QtCore.QRect(80, 10, 401, 31))
self.srcPathText.setObjectName("srcPathText")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "多媒体信息扫描", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("Dialog", "视频目录", None, QtGui.QApplication.UnicodeUTF8))
3. 接着,创建一个窗口类,继承上面生成的Ui_Dialog类和QMainWindow,这里把窗口类命名为:MainWindow,在__init__里调用Ui_Dialog的setupUi函数。该类大致如下:
[python] view plaincopy
class MainWindow(QMainWindow, Ui_Dialog):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
4. 在MainWindow的__init__里可以处理slot/signal的连接,处理事件。也可在该类中添加业务相关的代码,然后在__main__部分调用该类,该类的调用及Qt环境初始化如下:
[python] view plaincopy
#Main function
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWnd = MainWindow()
mainWnd.show()
app.exec_()
5. 总结,Pyside处理界面继承了Qt的强大/灵活/方便的特点,是Python界面编程很不错的选择。Pyside的文挡及教程可参考官方教程,使用中遇到不熟悉的Qt的类及接口可参考Pyside API Reference
















大小: 2.25G
大小: 450M
JDK 8(Java SE Development Kit)8u291 64位版
Keil C51V9.00 uVision4破解版
Java SE Development Kit(JDK6)6u43 多国语言版
易语言33个皮肤模块绿色版
STC单片机ISP下载编程软件v6.85i 官方最新版
易语言5.90精简版
lingoV14.0 绿色中文版
AutoIt(AU3)v3.3.14.2 汉化版
派森(Python)v2.7.18 官方正式版【x86|x64】
jdk99.0.4 官方最新版
VBScript编辑器(VbsEdit)V5.2.4.0 汉化绿色特别版
Delphi77.0 Build 8.1企业版龙卷风集成Update1
pyscripter x642.5.3 官方最新版
Delphi 7(集成控件)v7.0Build8.1企业版龙卷风集成Update1
visual studio emulator for androidv1.1.622 官方最新版
Python编程和调试工具(ActivePython)v3.6.0.3600 英文版
html5编程工具(LayaAir IDE)2.7.0 官方最新版