PyQt是一个抽象的工具包,如果使用底层的工具包(Win32 MFC)来实现相同的功能,这个示例代码就会增加很多。

Python同时支持面向过程和面向对象编程。

PyQt编程的精髓是面向对象编程。

一、窗口类型

  1. QMainWindow主窗口(顶层窗口)为用户提供一个应用程序框架,它有自己的布局,可以在布局中添加控件。在主窗口中可以添加控件,比如将工具栏、菜单栏和状态栏、标题栏等,是最常见的窗口形式,也可以说是GUI程序的主窗口

  1. QWidget可作为顶层窗口也可嵌入到其他窗口。基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口和控件都直接或者间接继承自QWidget类。

  1. QDiaglog是对话框窗口的基类。对话框主要用来执行短期任务或者与用户进行互动,模态和非模态。没有菜单栏

QDiaglog类的子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等。

模态窗口:程序在未处理完当前对话框时,将阻止和对话框的父窗口进行交互。模态窗口关闭后,仍可以读取模态窗口的信息,如窗口的返回状态。

非模态窗口:可以和其他窗口交互。关闭该窗口,将释放窗口的所有资源,无法得到窗口的任何信息。

加图标的方面(即界面上添加一个小的图标):

  1. 加个.ico文件,百度搜:ICO图标CUR光标制作 百度应用,制作一个备用;

  1. 程序代码中输入

if __name__=="__main__":
    app = QApplication(sys.argv)
    app.setWindowIcon(QIcon("./img/monkey.ico"))   
    myWin = MainWindow()
    myWin.show()
    sys.exit(app.exec_())
  1. 出现问题:NameError: name 'QIcon' is not defined。

  1. 解决问题:因为QIcon属于QtGui。

  1. pip install QtGui,安装成功后

  1. 加入from PyQt5 import QtGui

  1. 代码编写:

from PyQt5 import QtGui
if __name__=="__main__":
    app = QApplication(sys.argv)
    # app.setWindowIcon(QtGui.QIcon("./img/monkey.ico"))
    #在这里发现,不一定需要.ico文件,.png文件也可以直接使用
    app.setWindowIcon(QtGui.QIcon("./img/monkey.png"))
    myWin = MainWindow()
    myWin.show()
    sys.exit(app.exec_())

d. 搞定

更多推荐