PySide 是一个python绑定的跨平台GUI Qt库。目前,支持Python的Qt库有两个PyQt和PySide。PySide是一个免费的软件,与PyQt不同之处在于使用了LGPL,允许PySide免费的开发商业软件。

PySide有15个模块。这些模块支持对GUI,多媒体,XML,网络以及数据库进行操作。本教程的目的主要是学习其中的两个模块:QtCore和QtGui。

QtCore是非界面功能模块,主要对文件目录,数据类型,输入输出流,url以及线程等提供支持。QtGui提供了对常见界面元素的支持,例如,对话框,窗口,状态栏,工具栏等等。

首先从Hello world开始

 #!/usr/bin/python

 # Import PySide classes
import sys
from PySide.QtCore import *
from PySide.QtGui import * # Create a Qt application
app = QApplication(sys.argv)
# Create a Label and show it
label = QLabel("Hello World")
label.show()
# Enter Qt application main loop
app.exec_()
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>")

PySide 简易教程<一>-------Hello PySide的更多相关文章

  1. PySide 简易教程<三>-------动手写起来

    到目前为止,已经接触的Pyside的界面元素有如下几个:QWidget.QPushButton.QLabel.本次再介绍两个tooltip和messagebox.tooltip是一个鼠标悬浮提示信息, ...

  2. PySide 简易教程<二>-------工欲善其事,必先利其器

    OK , 在Linux的开发环境下,对于我们的简短的PySide程序而言,不需要使用QtCreator,使用文本编辑器.之所以,使用文本编辑器,是因为小应用代码量很少,更重要的是一行行的写可以加深我们 ...

  3. 生活科技两相宜:(一)Win7使用微软SkyDrive网盘简易教程

    今天得写一个Win7使用微软SkyDrive网盘的简易教程,主要是给我老婆看,顺便贴出来给大家共享一下:)    使用微软SkyDrive网盘有两个层次.一个是使用网页版,这个跟使用163或者QQ网盘 ...

  4. JavaScript简易教程(转)

    原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...

  5. Emacs简易教程

    Emacs简易教程阅读: 命令: $emacs 进入之后,输入: C-h t 这里,C-h表示按住[Ctrl]键的同时按h ####### 20090620 *退出: 输入“C-x C-c” *撤销: ...

  6. 文件上传利器SWFUpload入门简易教程

    凡做过网站开发的都应该知道表单file的确鸡肋. Ajax解决了不刷新页面提交表单,但是却没有解决文件上传不刷新页面,当然也有其它技术让不刷新页面而提交文件,该技术主要是利用隐藏的iFrame, 较A ...

  7. 【转】Delphi内嵌ASM简易教程

    Delphi内嵌ASM简易教程 作者:heiying2006-03-19 18:33分类:默认分类标签: 前言 Delphi作为一个快速高效的开发平台,使用的人越来越多,但熟悉在Delphi代码中嵌入 ...

  8. Ant 简易教程

    转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...

  9. Intellj IDEA 简易教程

    Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...

随机推荐

  1. IIS 发布 之 Word导出本地测试正常,发布报错

    用C#动态生成Word文档功能实现了,在本地的机器运行时是好的,但程序发布 IIS 或 远程服务器 上就报错, 报错信息为:检索 COM 类工厂中 CLSID 为 {000209FF-0000-000 ...

  2. JavaFX(一)窗口跳转

    笔者此处不讲JavaFX的基础API,只针对笔者工作时遇到的问题进行记录与总结. 零基础的网友可以访问http://www.javafxchina.net/blog/docs/tutorial1/进行 ...

  3. How to solve Original Tango programmer”Hardware not Found”?

    Original Tango programmer is a new generation of transponder programmer which is developed to cover, ...

  4. Android(java)学习笔记104:Map集合的遍历之键找值

    package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Map ...

  5. CEF js调用C#封装类含注释

    /* * CEF JS调用C#组装类 * * 使用方法(CefGlue为例): * public class BrowserRenderProcessHandler : CefRenderProces ...

  6. python(3)-动态参数实现字符串格式化

    s1 = "{0} ===> {1}" s = s1.format('lilei', 'boy') print(s) l = ['lilei', 'boy'] s = s1. ...

  7. 【Stirling Number I】

    hdu 4372 Count the Buildings 推荐这位小哥的,我觉得人家说的灰常的好. 注意数据范围,n,f,b均在(0,2000]范围内,而第一斯特林数的数组范围却是s[2000+5][ ...

  8. JavaScript “\”替换成 “\\”

    str=str.replace(/\\/g,'\\\\');

  9. AngularJS学习手册

    看书和视频结合是学习的最高效方式,看了这本书之后对angularjs才算是有一定的理解了.这本书以搭建一个博客为线索讲解了angularjs的知识点和实际项目开发流程.非常适合初学者!下面是我的读书笔 ...

  10. CI加载流程小结

    无聊,决定水一把. CI(CodeIgniter)是我最早接触的一个框架,到现在也只是用了其中一点零碎的方法.一直想对其流程做个小结,却总是因各种各样的“理由”挨着.看见别人图表齐上阵,没那耐心,就从 ...