PyQt5学习笔记(二): 个性化图标

给你的应用设置一个个性化图标吧。本文由Cescfangs译自ZetCode pyqt5系列教程并作适当修改。

之前学习了如何创建一个最简单的PyQt应用,这一次将学习给应用汇设置图标。先上源代码:

import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QIcon


class Exp(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setGeometry(300, 200, 300, 200)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QIcon('heart256.ico'))

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Exp()
    sys.exit(app.exec_())

如果你观察仔细的话,会发现第一个Pyqt代码的风格偏向于过程,而这个应用的代码就明显是面向对象的风格,Python支持面向过程和面向对象的代码风格。现在我们是开发Pyqt应用,这意味着我们将使用面向对象的代码风格。

class Exp(QWidget):
    
    def __init__(self):
        super().__init__()
        ...

面向对象的语言有三个非常重要的东西:类、属性和方法。上面这段代码创建了一个新的类ExpExp继承了QWidget,这也意味着我们同时使用了ExpQWidget两个类的构造函数。super()(构造函数)将返回Exp的基类,同时我们也调用了他的构造函数。__init__()Python语言的一个构造函数。

self.initUI()

通过自定义的initUI()方法来完成界面的初始化。

self.setGeometry(300, 200, 300, 200)
self.setWindowTitle('Icon')
self.setWindowIcon(QIcon('heart256.ico'))

上面的三个方法都继承自QWidget基类。setGeometry()同时完成了窗口大小和位置的设定,它兼具resize()move()的作用。最后一个方法设置了这个应用的图标,为此我们创建了Qicon对象,它通过我们赋予的路径将heart256.ico显示出来。

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Exp()
    sys.exit(app.exec_())

由此我们创建了新的应用和Exp类,主程序开始执行。

ICON
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,428评论 25 708
  • 第一天 一.内联函数(inline) 函数调用的时候需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些工作...
    陈果123阅读 1,145评论 0 1
  • 命运一阵纷扰, 我慢慢飘升。 与微风相遇, 开始了我动荡不安的生命。 卑微的我, 只能无力随风飘荡。 时浮时沉, ...
    年轮nl阅读 221评论 0 1
  • 进京少不得要拜谢中使边令城。若不是他替自己进言,怕是现在自己仍要被老上级夫蒙灵察压制着,不得出头,更坐不上安西节度...
    铭玥咏全阅读 267评论 0 0