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统计文件行数示例分享
Feb 21 Python
Python中的True,False条件判断实例分析
Jan 12 Python
Python的动态重新封装的教程
Apr 11 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
从0开始的Python学习016异常
Apr 08 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
python通过matplotlib生成复合饼图
Feb 06 Python
python Shapely使用指南详解
Feb 18 Python
如何使用Python处理HDF格式数据及可视化问题
Jun 24 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
使用pandas模块实现数据的标准化操作
May 14 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
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
js实例属性和原型属性示例详解
2014/11/23 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
Python socket模块ftp传输文件过程解析
2019/11/05 Python
python列表推导式入门学习解析
2019/12/02 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
餐饮食品安全责任书
2015/01/29 职场文书
总经理司机岗位职责
2015/04/10 职场文书
冰雪公主观后感
2015/06/16 职场文书
公司出差管理制度范本
2015/08/05 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android
MySQL数据库简介与基本操作
2022/05/30 MySQL