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发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 Python
python如何通过实例方法名字调用方法
Mar 21 Python
Python处理菜单消息操作示例【基于win32ui模块】
May 09 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
python 动态调用函数实例解析
Oct 21 Python
Tensorflow限制CPU个数实例
Feb 06 Python
python读写数据读写csv文件(pandas用法)
Dec 14 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 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中的 == 运算符进行字符串比较
2006/11/26 PHP
php二维数组转成字符串示例
2014/02/17 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
js实现随机点名
2021/01/19 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
python mysqldb连接数据库
2009/03/16 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
解决Python使用列表副本的问题
2019/12/19 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
保险专业大专生求职信
2013/10/26 职场文书
机械设计职业生涯规划书
2013/12/27 职场文书
转党组织关系介绍信
2014/01/08 职场文书
财务出纳岗位职责
2014/02/03 职场文书
志愿者活动总结
2014/04/28 职场文书
慰问信格式
2015/02/14 职场文书
排球赛新闻稿
2015/07/17 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL