PyQt5笔记

来源:互联网 发布:南京浦口行知基地图片 编辑:程序博客网 时间:2024/06/13 18:22

一个PyQt窗口简单例子

import sysfrom PyQt5.QtWidgets import  QApplication, QWidget #1if __name__ == '__main__':    app = QApplication(sys.argv) #2    w = QWidget()                #3    w.resize(250, 150)    w.move(300, 300)    w.setWindowTitle('Simple')    w.show()    sys.exit(app.exec_())
  1. 引入必要的库,PyQt5用到的基础库包含在PyQt5.QtWidgets中
  2. 每个PyQt5应用程序必须创建一个application对象,sys.argv参数包含了命令行传递进来的一些列参数。
  3. QWidget控件是PyQt5中所有用户界面对象类的基类
  4. 进入程序的主循环,由于exec是Python的一个关键字,所以在需要使用exec的地方添加了一个下划线,即exec_

一个面向对象的例子

*加入icon*

import sysfrom PyQt5.QtWidgets import  QApplication, QWidgetfrom PyQt5.QtGui import QIconclass Example(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        self.setGeometry(300, 300, 300, 220)        self.setWindowTitle('Icon')        self.setWindowIcon(QIcon('laptop.png'))        self.show()if __name__ == '__main__':    app = QApplication(sys.argv)    ex = Example()    sys.exit(app.exec_())

给控件添加一个提示信息

import sysfrom PyQt5.QtWidgets import  (QApplication, QWidget, QToolTip,    QPushButton)from PyQt5.QtGui import QFontclass Example(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        QToolTip.setFont(QFont('SansSerif', 10)) #1        self.setToolTip('This a <b>QWidget</b> widget')        btn = QPushButton('Button', self)        btn.setToolTip('This is a <b>QPushButton</b> widget')        btn.resize(btn.sizeHint())        btn.move(50, 50)        self.setGeometry(300, 300, 300, 220)        self.setWindowTitle('ToolTips')        self.show()if __name__ == '__main__':    app = QApplication(sys.argv)    ex = Example()    sys.exit(app.exec_())
  1. 设置了用户渲染提示所用的字体

关闭窗口

import sysfrom PyQt5.QtWidgets import  (QApplication, QWidget, QToolTip,    QPushButton)from PyQt5.QtCore import QCoreApplicationclass Example(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        qbtn = QPushButton('退出', self)        qbtn.clicked.connect(QCoreApplication.instance().quit) #1        qbtn.resize(qbtn.sizeHint())        qbtn.move(50, 50)        self.setGeometry(300, 300, 300, 220)        self.setWindowTitle('ToolTips')        self.show()if __name__ == '__main__':    app = QApplication(sys.argv)    ex = Example()    sys.exit(app.exec_())
  1. 信号与槽机制