python3用户界面GUI编程之pyqt5教程

pyqt5模块功能介绍

包括以下:

  • 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应用程序的单元测试

pqt5基本的功能实现:

import sys

from PyQt5.QtWidgets import QApplication,QWidget,QToolTip,QPushButton,QApplication,QMessageBox,QDesktopWidget

from PyQt5.QtCore import QCoreApplication

from PyQt5.QtGui import QIcon,QFont

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

        self.initUI() #用户界面绘制交给InitUi方法
        
        
    def initUI(self):
        
        #设置窗口的位置和大小(位置x,位置y,长,宽)
        #self.setGeometry(500, 500, 500, 500)
        
        #resize()方法调整窗口的大小
        self.resize(500, 300)

        #move()方法移动窗口在屏幕上的位置到(x,y)坐标。
        #self.move(300, 300)
        
        #设置窗口的标题
        self.setWindowTitle('mypyqt')
        
        #设置窗口的图标,引用当前目录下的web.png图片
        self.setWindowIcon(QIcon('1.png'))        

        #窗口显示在屏幕中央
        self.center()



        #这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。
        QToolTip.setFont(QFont('SansSerif', 10))
        #创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式
        self.setToolTip('<b>用户界面窗口</b>')
        #创建一个PushButton并为他设置一个tooltip提示
        btn = QPushButton('登录', self)
        btn.setToolTip('<b>用户登录按钮</b> ')
        #按钮btn.sizeHint()显示默认尺寸
        btn.resize(btn.sizeHint())
        #移动按钮(Quit)的位置
        btn.move(400, 20)       
        #关闭按钮
        qbtn = QPushButton('注销', self)
        qbtn.setToolTip('<b>用户注销按钮</b> ')
        qbtn.clicked.connect(QCoreApplication.instance().quit)
        #按钮qbtn.sizeHint()显示默认尺寸
        qbtn.resize(qbtn.sizeHint())
        #关闭(Quit)按钮的位置
        qbtn.move(400, 60)       

        #显示在屏幕上
        self.show()
    
    #关闭事件的弹窗
    def closeEvent(self, event):
        
        reply = QMessageBox.question(self, 'Message',
            "关闭程序?", QMessageBox.Yes | 
            QMessageBox.No, QMessageBox.No)
 
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()   

    #控制窗口显示在屏幕中心的方法    
    def center(self):
        
        #获得窗口
        qr = self.frameGeometry()
        #获得屏幕中心点
        cp = QDesktopWidget().availableGeometry().center()
        #显示到屏幕中心
        qr.moveCenter(cp)
        self.move(qr.topLeft())    

if __name__ == '__main__':
    
    #每一pyqt5应用程序必须创建一个应用程序对象
    #sys.argv参数是一个列表,从命令行输入参数。
    app = QApplication(sys.argv)
    
    #创建用户界面对象
    ex = Example()
    
    #sys.exit()方法确保应用程序干净的退出
    #的exec_()方法有下划线
    sys.exit(app.exec_()) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的猫96

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值