Python的GUI框架PySide

PySide学习笔记


PySide安装


Python自带了GUI模块Tkinter,只是界面风格有些老旧。
Python的Qt有PyQt和PySide吧。PyQt 是商业及 GPL 的版权, 而 PySide 是 LGPL。大意也就是PyQt开发商业软件是要购买授权的,而PySide则不需要。二者代码基本一致,修改下import 基本剩余的代码皆可通用。所以毫不犹豫的选择了PySide。

QtCore是非界面功能模块,主要对文件目录,数据类型,输入输出流,url以及线程等提供支持。
QtGui提供了对常见界面元素的支持,例如,对话框,窗口,状态栏,工具栏等等。

add-apt-repository ppa:pyside
sudo apt-get update
sudo apt-get install python-pyside

测试是否安装成功


python
import PySide
dir(PySide)
PySide.__version__
PySide.QtCore.__version__

PySide初试


# -*- coding: utf-8 -*-  
# Import PySide classes
import sysfrom 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()

这样运行就可以看到一个最简单的窗口了。Hello World .

编写PySide的桌面应用,首先要导入QtCore和QtGui,因为这些类包含了应用中主要功能。
QtGui包含界面元素,处理控件的函数,QtCore包含处理信号和槽的函数等等。
在导入模块完成之后,需要创建QApplication的对象,这就是Qt主程序了。就像Qt可以从命令行接受参数一样,你可以传递任何参数给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_避开

label显示html

  在label里插入一段html标签来显示富文本。让我们把上面这段代码中做个修改。

label = QLabel("<font color=red size=40>Hello World</font>")

  你将会看到 “Hello World” 字体变大而且是红色的了。当然,你也可以尝试修改成其他颜色或者其他尺寸,甚至让它闪一下。另外,你也可以用其他控件替换掉QLabel,比如QPushButton等等。


参考文献


PySide学习笔记

Python的GUI框架PySide的安装配置教程

pyside写ui界面入门示例

PySide教程:第一个PySide应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中的除法保留两位小数

在C/C语言对于整形数执行除法会进行地板除&#xff08;舍去小数部分&#xff09;。例如 int a15/10; a的结果为1。 同样的在Java中也是如此&#xff0c;所以两个int型的数据相除需要返回一个浮点型数据的时候就需要强制类型转换&#xff0c;例如 float a (float)b/c ,其中b、…

最小二乘法深入

上次写了一个一次函数yaxb类型的最小二乘法&#xff0c;即可以看做是n维输入列向量对应的一个n维输出列向量&#xff0c;然后对已知结果进行学习&#xff0c;得到拟合公式。这里对m*n的矩阵进行最小二乘法分析。 设模型的输出为和训练集输出&#xff0c;它们之间的平方误差为&…

github访问太慢解决方案

相关文章 版本管理 github访问太慢解决方案 Material for git workshop github 域名列表 先建立一个域名列表haha.txt&#xff0c;下面列表中的gist.github.com是代码片功能 github.com assets-cdn.github.com avatars0.githubusercontent.com avatars1.githubusercontent.…

ubuntu16.04 制作gif

byzanz安装 sudo apt-get install byzanz byzanz-record #录像byzanz-playback #回放 下载完成后打开命令行输入byzanz-record –help 其中我们重点关注几个参数 * -d 动画录制的时间,默认录制10秒 * -e 动画开始延迟 * -x 录制区域的起始X坐标 * -y 录制区域的起始Y坐标 …

典型关联分析CCA(canonical correlation analysis)

先看两个数学概念&#xff1a; 相关系数&#xff08;参看百度百科&#xff09; 相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算&#xff0c;同样以两变量与各自平均值的离差为基础&#xff0c;通过两个离差相乘来反映两变量之间相关程度 相…

Kullback–Leibler divergence(相对熵,KL距离,KL散度)

1 前言 注意两个名词的区别&#xff1a; 相对熵&#xff1a;Kullback–Leibler divergence 交叉熵&#xff1a;cross entropy KL距离的几个用途&#xff1a; ① 衡量两个概率分布的差异。 ② 衡量利用概率分布Q 拟合概率分布P 时的能量损耗&#xff0c;也就是说拟合以后丢失…

李宏毅机器学习课程11~~~为何要深?

为何要“深”&#xff1f; pluskid的博客 Deep Learning and Shallow Learning Bengio Y. Learning deep architectures for AI. Foundations and trends in Machine Learning, 2009 Deeper is Better? 模型有更多的参数会有更好的结果&#xff0c;这是毋庸置疑的。 深瘦的模…

没事随便写写——matlab图像与矩阵的转换与存储为txt文件

<span style"font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">刚开课&#xff0c;上了一节计算机图像处理&#xff0c;想了一下把图像转换成矩阵表示&#xff0c;然后存储到txt文档中去。图片用的 lena.jpg</span> …

李宏毅机器学习课程12~~~半监督学习

Semi-supervised Learning The distribution of the unlabeled data tell us something. Usually with some assumptions. Semi-Supervised Generative Model 对比学习见 李宏毅机器学习课程&#xff14;~~~分类&#xff1a;概率生成模型 EM算法思路来最大化似然函数。 Self-tr…

计算机视觉、机器学习相关领域论文和源代码大集合--持续更新……

原文地址&#xff1a;http://blog.csdn.net/whaoXYSH/article/details/16886109 一、特征提取Feature Extraction&#xff1a; SIFT [1] [Demo program][SIFT Library] [VLFeat] PCA-SIFT [2] [Project] Affine-SIFT [3] [Project] SURF […

Tensor数据相关的运算、函数讲解及与numpy区别

Tensor tensorflow 中使用它来表示数据。可以看做多维数组或者list。 标量是张量&#xff0c;向量是张量&#xff0c;矩阵是张量&#xff0c;矩阵的矩阵是张量。 常用几种定义方法 1. variable变量&#xff0c;一般是可以被更更新或更改的数值&#xff0c;即在流图运行过程中…

Python程序设计—车万翔

程序设计入门—Python 对象和类型 五种基本对象类型 字符串 &#xff08;string&#xff09;&#xff0c;简记为 str 使用 ’ ’ 或 ” ” 括起来的一系列字符 整数&#xff08;integer&#xff09;&#xff0c;简记为 int 十进制&#xff1a;21&#xff0c;八进制&#xf…

【重大修改】动态时间规整(Dynamic Time Warping)

本文只是简单的介绍DTW算法的目的和实现。具体的DTW可以参考一下文献&#xff1a; 离散序列的一致性度量方法&#xff1a;动态时间规整&#xff08;DTW&#xff09; http://blog.csdn.net/liyuefeilong/article/details/45748399 动态时间归整/规整/弯曲(Dynamic time warpi…

python中的深拷贝与浅拷贝

浅拷贝的时候&#xff0c;修改原来的对象&#xff0c;深拷贝的对象不会发生改变。 对象的赋值 对象的赋值实际上是对象之间的引用&#xff1a;当创建一个对象&#xff0c;然后将这个对象赋值给另外一个变量的时候&#xff0c;python并没有拷贝这个对象&#xff0c;而只是拷贝了…

从机器学习谈起

很好的一篇文章&#xff0c;转载自博客园&#xff1a;http://www.cnblogs.com/subconscious/p/4107357.html 在本篇文章中&#xff0c;我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习&#xff0c;并且上手相关的实践。这篇文档也算…

核函数

由于下一篇要学机器学习的另外一种模型——核模型&#xff0c;里面涉及到核函数&#xff0c;所以先找了一下核函数的相关知识。 在知乎上看到了一些比较好的解答&#xff0c;详细参考&#xff1a;http://www.zhihu.com/question/24627666 首先举一个核函数把低维空间映射到高…

关于Matlab编程的思考(待续)

Matlab编程的规范化思考 1.并行化 2.释放内存 3.需要调参的变量太多&#xff0c;可考虑将变量都放到一个结构体里面。 4.find(y),就是要找到y中那些非零项的指引 5.代码运行出现问题的时候&#xff0c;在命令行输入why就可以得到答案 6.输入bench可以给电脑跑分。 7.hom…

拉普拉斯锐化图像

在图像增强中&#xff0c;平滑是为了消除图像中噪声的干扰&#xff0c;或者降低对比度&#xff0c;与之相反&#xff0c;有时为了强调图像的边缘和细节&#xff0c;需要对图像进行锐化&#xff0c;提高对比度。 图的边缘是指在局部不连续的特征。 简要介绍一下原理&#xff1…

运动捕捉数据的描述ASF/AMC

运动捕捉数据有多种格式&#xff1a;ASF/AMC&#xff0c;BVH&#xff0c;C3D等&#xff0c;这三个是比较常用的&#xff0c;一般的matlab实验用的是ASF/AMC&#xff0c;其次就是BVH。 ASF/AMC文件格式是Acclaim Games公司设计开发的&#xff0c;全称是Acclaim Skeleton File/A…

应用深度学习(台大陈蕴侬李宏毅) Part1

History of Deep Learning Big Data & GPU 端到端 Universality Theorem Core Factors for Applied Deep Learning 参考文献 http://v.qq.com/vplus/578e2d6f5e1fadc1/foldervideos/8n1000201qzzkx5 Deep Learning ◦Goodfellow, Bengio, and Courville, “Deep Learning…