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开发的小球完全弹性碰撞游戏代码
Oct 15 Python
Python 2.7.x 和 3.x 版本的重要区别小结
Nov 28 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
Python对列表中的各项进行关联详解
Aug 15 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
python如何实现异步调用函数执行
Jul 08 Python
Python跑循环时内存泄露的解决方法
Jan 13 Python
keras 权重保存和权重载入方式
May 21 Python
python实现登录与注册系统
Nov 30 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
tensorflow中的数据类型dtype用法说明
May 26 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压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
有关php运算符的知识大全
2011/11/03 PHP
mac下安装nginx和php
2013/11/04 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
yii数据库的查询方法
2015/12/28 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
DIV菜单层实现代码
2010/11/19 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Python笔试面试题小结
2019/09/07 Python
出国留学自荐信
2013/10/25 职场文书
市场营销专业推荐信
2013/11/03 职场文书
毕业生自我鉴定
2013/12/04 职场文书
美丽乡村建设实施方案
2014/03/23 职场文书
员工安全承诺书
2014/05/22 职场文书
学用政策心得体会
2014/09/10 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript