PyQt5用户GUI制作(初识pyqt5)

PyQt5介绍
pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站http://www.riverbankcomputing.co.uk/news
pyqt5的类别分为几个模块,包括以下:

  • QtCore
  • QtGui
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest

QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
QtGui包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。
QtMultimedia包含的类来处理多媒体内容和API来访问相机和收音机的功能。
Qtbluetooth模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
Qtpositioning包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
Enginio模块实现了客户端库访问Qt云服务托管的应用程序运行时。
Qtwebsockets模块包含实现WebSocket协议类。
QtWebKit包含一个基于Webkit2图书馆Web浏览器实现类。
Qtwebkitwidgets包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
QtXml包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
QtSvg模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
QtSql模块提供操作数据库的类。
QtTest包含的功能,使pyqt5应用程序的单元测试
安装pyqt5

pip install pyqt5
pip install pyqt5-tools

简单例子:

import sys

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

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


class Example(QWidget):

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

        self.initUI()  # 界面绘制交给InitUi方法

    def initUI(self):
        # 设置窗口的位置和大小
        #self.setGeometry(positionX, PositionY, Length, width)
        self.setGeometry(300, 300, 300, 200)
        # 设置窗口的标题
        self.setWindowTitle('python pyqt5 learning')
        # 设置窗口的图标,引用当前目录下的web.png图片
        self.setWindowIcon(QIcon('python.jpg'))

        # 显示窗口
        self.show()


if __name__ == '__main__':
    # 创建应用程序和对象
    app = QApplication(sys.argv)
    execute = Example()
    sys.exit(app.exec_())

在这里插入图片描述
按钮及提示语

import sys
from PyQt5.QtWidgets import QWidget, QToolTip,QPushButton, QApplication
from PyQt5.QtGui import QFont, QIcon


class Example(QWidget):

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

        self.initUI()

    def initUI(self):
        # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。
        QToolTip.setFont(QFont('SansSerif', 10))

        # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式
        self.setToolTip('This is a <b>QWidget</b> widget')

        # 创建一个PushButton并为他设置一个tooltip
        btn = QPushButton('Button', self)
        btn.setToolTip('This is a <b>QPushButton</b> widget')

        # btn.sizeHint()显示默认尺寸
        btn.resize(btn.sizeHint())

        # 移动窗口的位置
        btn.move(50, 50)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('python pyqt5 learning')
        self.setWindowIcon(QIcon('python.jpg'))
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    execute = Example()
    sys.exit(app.exec_())

在这里插入图片描述
关闭窗口

import sys
from PyQt5.QtWidgets import QWidget, QToolTip,QPushButton, QApplication
from PyQt5.QtGui import QFont, QIcon
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):

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

        self.initUI()

    def initUI(self):
        # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。
        QToolTip.setFont(QFont('SansSerif', 10))

        # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式
        self.setToolTip('This is a <b>QWidget</b> widget')

        # 创建一个PushButton并为他设置一个tooltip
        btn1 = QPushButton('Button', self)
        btn1.setToolTip('This is a <b>QPushButton</b> widget')
        btn2 = QPushButton('Quit', self)
        btn2.setToolTip('This is a <b>Quit</b> widget')
        # btn.sizeHint()显示默认尺寸
        btn1.resize(btn1.sizeHint())
        btn2.resize(btn2.sizeHint())
        # 移动窗口的位置
        btn1.move(50, 50)
        btn2.move(180, 50)
		btn2.clicked.connect(QCoreApplication.instance().quit)
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('python pyqt5 learning')
        self.setWindowIcon(QIcon('python.jpg'))
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    execute = Example()
    sys.exit(app.exec_())

在这里插入图片描述
关闭窗口

import sys
from PyQt5.QtWidgets import QWidget, QToolTip,QPushButton, QApplication, QMessageBox
from PyQt5.QtGui import QFont, QIcon
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):

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

        self.initUI()

    def initUI(self):
        # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。
        QToolTip.setFont(QFont('SansSerif', 10))

        # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式
        self.setToolTip('This is a <b>QWidget</b> widget')

        # 创建一个PushButton并为他设置一个tooltip
        btn1 = QPushButton('Button', self)
        btn1.setToolTip('This is a <b>QPushButton</b> widget')
        btn2 = QPushButton('Quit', self)
        btn2.setToolTip('This is a <b>Quit</b> widget')
        # btn.sizeHint()显示默认尺寸
        btn1.resize(btn1.sizeHint())
        btn2.resize(btn2.sizeHint())
        # 移动窗口的位置
        btn1.move(50, 50)
        btn2.move(180, 50)
        btn2.clicked.connect(self.closeEvent)
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('python pyqt5 learning')
        self.setWindowIcon(QIcon('python.jpg'))
        self.show()

    def closeEvent(self, event):

        reply = QMessageBox.question(self, 'Message',
                                     "Are you sure to quit?", QMessageBox.Yes |
                                     QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            event.accept()
        else:
            if event:
                event.ignore()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    execute = Example()
    sys.exit(app.exec_())

在这里插入图片描述
窗口在屏幕中间显示

import sys
from PyQt5.QtWidgets import (QWidget, QToolTip,QPushButton, QApplication,
                             QMessageBox,QDesktopWidget)
from PyQt5.QtGui import QFont, QIcon
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):

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

        self.initUI()

    def initUI(self):
        # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。
        QToolTip.setFont(QFont('SansSerif', 10))

        # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式
        self.setToolTip('This is a <b>QWidget</b> widget')

        # 创建一个PushButton并为他设置一个tooltip
        btn1 = QPushButton('Button', self)
        btn1.setToolTip('This is a <b>QPushButton</b> widget')
        btn2 = QPushButton('Quit', self)
        btn2.setToolTip('This is a <b>Quit</b> widget')
        # btn.sizeHint()显示默认尺寸
        btn1.resize(btn1.sizeHint())
        btn2.resize(btn2.sizeHint())
        # 移动窗口的位置
        btn1.move(50, 50)
        btn2.move(180, 50)
        btn2.clicked.connect(self.closeEvent)
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('python pyqt5 learning')
        self.setWindowIcon(QIcon('python.jpg'))
        self.center()
        self.show()

    def closeEvent(self, event):

        reply = QMessageBox.question(self, 'Message',
                                     "Are you sure to quit?", QMessageBox.Yes |
                                     QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            event.accept()
        else:
            if event:
                event.ignore()

    # 控制窗口显示在屏幕中心的方法
    def center(self):

        # 获得窗口
        qr = self.frameGeometry()
        # 获得屏幕中心点
        cp = QDesktopWidget().availableGeometry().center()
        # 显示到屏幕中心
        qr.moveCenter(cp)
        self.move(qr.topLeft())

if __name__ == '__main__':
    app = QApplication(sys.argv)
    execute = Example()
    sys.exit(app.exec_())
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值