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中精确输出JSON浮点数的方法
Apr 18 Python
用Python的Django框架完成视频处理任务的教程
Apr 02 Python
Python中type的构造函数参数含义说明
Jun 21 Python
Python根据区号生成手机号码的方法
Jul 08 Python
Python打印“菱形”星号代码方法
Feb 05 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
Python中BeautifuSoup库的用法使用详解
Nov 15 Python
python numpy--数组的组合和分割实例
Feb 24 Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
May 27 Python
使用Keras实现简单线性回归模型操作
Jun 12 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借助phpmailer发送邮件
2015/05/11 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
用JS在浏览器中创建下载文件
2014/03/05 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
原生js实现日历效果
2020/03/02 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
初中优秀班集体申报材料
2014/05/01 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers