添加应用程序图标
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QIcon('web.png'))        
    
        self.show()
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_()) 
分析
Python 中的函数参数
在 Python 中,用户定义的函数可以使用四种不同类型的参数。
- 默认参数:
- 
功能定义 def defaultArg( name, msg = "Hello!"):
- 
函数调用 defaultArg( name)
- 必需参数:
- 
功能定义 def requiredArg (str,num):
- 
功能调用: requiredArg ("Hello",12)
- 关键字参数:
- 
功能定义 def keywordArg( name, role ):
- 
函数调用 keywordArg( name = "Tom", role = "Manager")要么 keywordArg( role = "Manager", name = "Tom")
- 可变数量的参数:
- 
功能定义 def varlengthArgs(*varargs):
- 
函数调用 varlengthArgs(30,40,50,60)
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        ...
面向对象编程中的三个重要事项是类,数据和方法。在这里,我们创建了一个名为 Example 的新类。Example 类继承自 QWidget 类。这意味着我们调用两个构造函数:第一个用于 Example 类,第二个用于继承类。super() 方法返回 Example 类的父对象,我们调用它的构造函数。self 变量指的是对象本身。
为什么我们用 __init__?
看一下这个:
class A(object):
    def __init__(self):
        self.lst = []
class B(object):
    lst = []
现在尝试:
>>> x = B()
>>> y = B()
>>> x.lst.append(1)
>>> y.lst.append(2)
>>> x.lst
[1, 2]
>>> x.lst is y.lst
True
还有这个:
>>> x = A()
>>> y = A()
>>> x.lst.append(1)
>>> y.lst.append(2)
>>> x.lst
[1]
>>> x.lst is y.lst
False
这是否意味着在实例化之前建立了 B 类中的 x?
是的,它是一个类属性(它在实例之间共享)。而在 A 类中,它是一个实例属性。
self.initUI() 
GUI 的创建委托给 initUI() 方法。
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('Icon')
self.setWindowIcon(QIcon('web.png'))  
这三种方法都是从 QWidget 类继承而来的。setGeometry() 做了两件事:它在屏幕上定位窗口并设置它的大小。前两个参数是窗口的 x 和 y 位置。第三个是宽度,第四个是窗口的高度。事实上,它在一种方法中结合了 resize() 和 move() 方法。最后一个方法设置应用程序图标。为此,我们创建了一个 QIcon 对象。QIcon 接收要显示的图标的路径。
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
创建应用程序和示例对象。主循环开始。