PySide从实战开始学习系列(一)认识PySide

刚转战新公司,开始边学边用PySide,然后发现网上教程真的烂到一塌糊涂,虽然我也写不出什么精品教程,但我会把我学习过程中遇到的问题分享出来,方便自己和大家。


开始正题

看教程是最枯燥的,尤其是像我现在没有时间专门学习新技术的人,所以我会利用实战小项目来填充自己的技术栈。

第一个小项目,写一个简单的类文件夹,上效果图



看上去很简单,我们来一点一点实现。


首先,我们认识一下PySide,摘抄自其它博友的博客文章。

PySide是由诺基亚公司开发的,简单来说就是其Qt库的Python移植(原先是C++的)。诺基亚还有跨平台的开发工具Qt,完全都是免费使用,在这里不得不赞一下诺基亚。PySide的主要对手是PyQt。PyQt出现得比PySide早,但是PySide血统更纯正一些(毕竟是亲儿子)。但是具体应用两者差不多,因为目前Qt的IDE也没有把Python弄进去,要实现同样功能两者要进行的操作大同小异。PyQt个人应用免费,但是商业应用要收钱,相比下PySide的个人和商业双免费的策略更让人放心一些。

再说一下环境

Python2.7 + PySide,windows下运行,没试过Linux和Unix,有需要可以自行尝试。


有了运行的平台,我们来运行第一个窗口

# -*-coding:utf8 -*-
__author__ = "jermeyjone"
__abc__ = "第一个PySide程序,创建一个窗口"

import sys
from PySide.QtCore import *
from PySide.QtGui import *

class Form(QWidget):
    def __init__(self):
        # python2的super语法,传参不能省略
        # 初始化构造用户界面类的基础类,QWidget提供了默认的构造方法
        super(Form, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("Test1")   # 设置窗口名
        self.resize(220, 200)   # 设置窗口大小
        self.move(500, 200)   # 设置窗口位置

        # show()方法在屏幕上显示一个widget,widget对象在这里第一次被在内存中创建,并且之后在屏幕上显示。
        self.show()


if __name__ == "__main__":
    # 所有应用必须创建一个应用(Application)对象
    # sys.argv参数是一个来自命令行的参数列表
    app = QApplication(sys.argv)

    test1 = Form()
    
    # 应用进入主循环,事件处理开始执行。
    # 主循环用于接收来自窗口触发的事件,并且转发她们到widget应用上处理。
    # 如果调用exit()方法或主widget组件被销毁,主循环将退出。
    # sys.exit()方法确保一个不留垃圾的退出。系统环境将会被通知应用是怎么被结束的。
    sys.exit(app.exec_())

运行效果如下:


其实原理和其它图形代码都差不多,还算简单。


如何显示文字呢?

    def initUI(self):
        # 创建一个QLabel对象
        label = QLabel("Label", self)
        label.resize(100, 100)
        label.move(100, 100)
        # 设置label的显示文字
        label.setText("Hello PySide")
        self.resize(300, 300)
        self.move(500, 300)
        self.show()

效果如下:



再上一个按钮的效果:

# -*- coding:utf-8 -*-
__author__ = "jermeyjone"

import sys
from PySide.QtGui import QWidget, QApplication, QPushButton, QMainWindow


class Test(QWidget):
    def initUI(self, MainWindow):
        MainWindow.setWindowTitle("my window")
        MainWindow.resize(400, 400)
        self.btn = QPushButton("&Click me", MainWindow)   # 创建一个按钮
        self.btn.setStyleSheet("background-color: #999")   # 定义按钮样式,PySide支持CSS
        MainWindow.show()


def aaa():
    print "hello"


class MainWindow(QMainWindow, Test):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.initUI(self)   # 初始化父类的方法
        self.btn.clicked.connect(aaa)   # 按钮的信号,让其执行aaa函数


if __name__ == "__main__":
    app = QApplication(sys.argv)
    t = MainWindow()
    sys.exit(app.exec_())

这段效果相信就很简单了,只是点击之后执行aaa函数,可能有点乱,这个要学习信号和槽了。

点一下按钮,控制台就打印一行hello



其它控件就不一一看了,想具体了解,除了网上搜索,有一个官方文档,可以看一下,很好用。

http://srinikom.github.io/pyside-docs/

这里面清楚标明所有函数的参数、用法及返回值,对于我这种看源码一堆钩子方法,看的脑袋疼的人来说,无疑是巨大的福音。


PySide中的控件叫widget,PS的widget实在太多了,不过真的不用去刻意牢记所有,PySide给我们提供了一个很好用的可视化界面工具,叫Qt Designer,在python目录下的

Python27\Lib\site-packages\PySide

如果你正确安装了PySide包,那么他一定在里面安静的等待你去点击它~

这个就不演示了,像用VB一样简单~


使用这个的教程网上一大堆,自行查找,我只是要说,保存后生成ui文件,通过命令

pyside-uic .\文件名.ui -o .\要生成的文件名.py

将ui文件变成py文件,我们就可以直接使用。

另外,我们的PySide也可以直接使用ui文件(这个后面再说)


第一篇就写到这里。


  • 10
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 学习PySide2的书有以下几本: 1. 《Python Qt GUI编程 PyQt与PySide2实战》- 作者:刘卓,出版社:电子工业出版社。这本书详细介绍了PyQt和PySide2的使用,并通过实例解析来帮助读者掌握PySide2的基本概念和编程技巧。 2. 《跟老齐学Python:PyQt5/PySide2 快速开发与实战》- 作者:齐翔,出版社:电子工业出版社。这本书注重实战,通过详细的案例和代码演示,教读者使用PySide2进行GUI界面的开发。 3. 《PySide2编程指南》- 作者:李洋,出版社:人民邮电出版社。这本书从PySide2的安装开始,详细介绍了PySide2的各种组件、信号与槽、布局管理器等内容,适合初学者入门。 4. 《PySide2从入门到实战》- 作者:徐泽彬,出版社:机械工业出版社。这本书分为理论部分和实例编程部分,通过实例化学习PySide2的各个方面,帮助读者快速掌握PySide2的开发技巧。 这些书籍都是较为权威和实用的PySide2学习资源,可以根据自己的学习需求和水平选择适合的书籍进行学习。另外,还可以通过在线教程、官方文档以及社区论坛等方式获取更多的学习资料和帮助。最重要的是在学习过程中不断动手实践,加深对PySide2的理解和运用。 ### 回答2: 学习Pyside2的书有很多。以下是一些推荐的书籍: 1. 《使用PySide2进行Python GUI编程》:这是一本非常全面的Pyside2教程。它介绍了Pyside2的概念,以及如何使用Pyside2构建交互式图形用户界面。此书通过许多实例代码和练习帮助读者深入理解Pyside2的各种功能和用法。 2. 《Pyside2教程》:这是一本针对初学者的入门教材。它从基础开始介绍Pyside2的概念和基本用法,逐步引导读者学习如何创建简单的GUI应用程序。此书使用了大量的示例和演示来帮助读者理解每个概念和步骤。 3. 《PyQt5/PySide2从入门到实战》:这本书专注于PyQt5和Pyside2的实战应用。它通过许多实际的案例来演示如何使用Pyside2构建各种功能强大的GUI应用程序。此书还提供了一些高级主题,如多线程编程和网络编程等。 4. 《PyQt GUI编程与实战》:虽然这本书的标题是关于PyQt的,但它同样适用于学习Pyside2。它介绍了如何使用Pyside2创建各种类型的GUI应用程序,包括窗口、对话框、菜单等。此书还提供了丰富的示例代码和项目,帮助读者巩固所学知识。 在学习Pyside2时,除了阅读书籍,还可以参考在线教程、API文档和开发者社区的资源。这些资源可以提供更实时、更全面的指导和解答,帮助你更好地学习和掌握Pyside2的知识。 ### 回答3: 学习Pyside2的书有以下几本: 1.《Python GUI Programming with PySide2》(作者:Alan D. Moore):这本书详细介绍了使用Pyside2创建图形用户界面的基本概念和技术。它从简单的示例开始,逐步深入介绍了Pyside2的各个方面,包括窗口、布局、控件、事件处理等。这本书适合对Pyside2有基本了解的读者进一步提升技能。 2.《Mastering GUI Programming with Python》(作者:Alan D. Moore):这本书是《Python GUI Programming with PySide2》的进阶版本,它更加详细和深入地介绍了Pyside2的各种高级特性和技巧。读者可以通过该书学习如何创建复杂的图形用户界面,处理各种事件和信号,以及使用Pyside2的其他高级功能。 3.《PySide2 By Example》(作者:Kirui, Beneh):这本书通过大量的实例帮助读者学习Pyside2的各种功能和技巧。每个实例都包含了详细的说明和代码,可以帮助读者理解Pyside2的使用方法。这本书适合那些更喜欢通过实践学习的读者。 此外,还有一些在线资源可以帮助学习Pyside2,例如官方文档、教程和示例代码。通过结合不同的学习资源,读者可以更系统和全面地学习Pyside2,提高自己的技能水平。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值