pyside写ui界面入门示例


Posted in Python onJanuary 22, 2014

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>")
Python 相关文章推荐
用Python写的图片蜘蛛人代码
Aug 27 Python
举例简单讲解Python中的数据存储模块shelve的用法
Mar 03 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
正确理解Python中if __name__ == '__main__'
Jan 24 Python
python用win32gui遍历窗口并设置窗口位置的方法
Jul 26 Python
python实现邮件自动发送
Aug 10 Python
Python输出指定字符串的方法
Feb 06 Python
python 实现客户端与服务端的通信
Dec 23 Python
pyqt和pyside开发图形化界面
Jan 22 #Python
python检测lvs real server状态
Jan 22 #Python
python使用rsa加密算法模块模拟新浪微博登录
Jan 22 #Python
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 #Python
使用python的chardet库获得文件编码并修改编码
Jan 22 #Python
使用go和python递归删除.ds store文件的方法
Jan 22 #Python
python学习手册中的python多态示例代码
Jan 21 #Python
You might like
php导出CSV抽象类实例
2014/09/24 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
python操作MySQL数据库具体方法
2013/10/28 Python
简单介绍Python中的JSON使用
2015/04/28 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
Python Socket使用实例
2017/12/18 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
用Python 执行cmd命令
2020/12/18 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
机械工程及其自动化专业求职信
2014/08/08 职场文书
高考学习决心书
2015/02/04 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android