Python的GUI框架PySide
来源:互联网 发布:mac忘记开机密码怎么办 编辑:程序博客网 时间:2024/06/05 22:30
PySide学习笔记
PySide安装
Python自带了GUI模块Tkinter,只是界面风格有些老旧。
Python的Qt有PyQt和PySide吧。PyQt 是商业及 GPL 的版权, 而 PySide 是 LGPL。大意也就是PyQt开发商业软件是要购买授权的,而PySide则不需要。二者代码基本一致,修改下import 基本剩余的代码皆可通用。所以毫不犹豫的选择了PySide。
QtCore是非界面功能模块,主要对文件目录,数据类型,输入输出流,url以及线程等提供支持。
QtGui提供了对常见界面元素的支持,例如,对话框,窗口,状态栏,工具栏等等。
add-apt-repository ppa:pysidesudo apt-get updatesudo apt-get install python-pyside
测试是否安装成功
pythonimport PySidedir(PySide)PySide.__version__PySide.QtCore.__version__
PySide初试
# -*- coding: utf-8 -*- # Import PySide classesimport sysfrom PySide.QtCore import *from PySide.QtGui import * # Create a Qt application app = QApplication(sys.argv)# Create a Label and show itlabel = QLabel("Hello World")label.show()# Enter Qt application main loopapp.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应用
- Python的GUI框架PySide
- python的各种GUI开发框架介绍
- Python开发Gui程序的框架选择
- python的各种GUI开发框架介绍
- Python GUI 开发框架
- pyside emit python對象的辦法
- 设计模式七(采用pyside实现模式六的GUI)
- Python GUI框架Tkinter简介
- pyFormUI: 一个简单的Python GUI界面框架
- 2017年最棒的七个Python图形应用GUI开发框架
- 2017年最棒的七个Python图形应用GUI开发框架
- PySide的QStackedWidget例子
- PySide程序的国际化
- pyside
- Python的GUI编程
- python的GUI编程
- Python 的 GUI 开发
- 浅尝Python 的GUI
- JavaSE 分支结构
- Redis配置成服务启动
- 笔记-类文件结构
- jvm 虚拟机工作原理
- oracle-创建存储过程、函数、包、游标、视图
- Python的GUI框架PySide
- 深入理解变量 作用域 内存
- 一个利用“永恒之蓝”漏洞传播的挖矿程序分析
- 【UE4教程文档翻译】First Person Shooter C++ Tutoria(第一人称射击C++教程)
- hadoop2.6快速离线部署
- sqoop1.4.6离线部署于hadoop2.6之上与hive导入导出数据
- 高并发下的下单功能设计
- Java I/O 流的基础用法和原理
- Java 线程面试题 Top 50