pyqt5-入门1

参考:https://zetcode.com/gui/pyqt5/


基础知识

pip install PyQt5

PyQt5是Qt5的python binding,跨平台,开发者可以选择GPL或者商业许可证。

PyQt5模块

QtCore:核心的、非GUI功能,比如时间、文件、数据类型、流、URL、线程和进程等。
QtGui:窗口、事件处理、2d绘图、图像、字体、文字等。
QtWidgets:提供UI元素
QtMultimedia:处理多媒体内容、提供摄像头和收音机的api
QtBluetooth:扫描、连接设备
QtNetwork:网络编程
QtPositioning:使用卫星、wifi、文件确定位置
Enginio:接入Qt Cloud Services Managed Application Runtime
QtWebSockets:实现了WebSocket protocol
QtWebEngine:QML Web Engine objects
QtWebEngineCore:core Web Engine classess
QtWebEngineWidgets:提供了基于chrome的web浏览器
QtXml:处理xml文件,提供SAX和DOM API的实现
QtSvg:展示svg文件
QtSql:数据库
QtTest:测试

版本

QT的版本

>>> from PyQt5.QtCore import QT_VERSION_STR
>>> print(QT_VERSION_STR)
5.15.2

pyqt的版本

>>> from PyQt5.Qt import PYQT_VERSION_STR
>>> print(PYQT_VERSION_STR)
5.15.4

时间和日期

QDate,QDateTime和QTime是主要模块。
在这里插入图片描述

def test_time_process():
    from PyQt5.QtCore import QDate, QTime, QDateTime, Qt
    # QDate
    now = QDate.currentDate()
    d = QDate(1945, 5, 7) # 构造函数
    print(now.toString(Qt.ISODate)) # 2021-06-01
    print(now.toString(Qt.DefaultLocaleLongDate)) # 2021年6月1日
    print(now.daysInMonth()) # 这个月有多少天?数字
    print(now.daysInYear()) # 这年有多少天?数字
    xmas1 = QDate(2021, 12, 24) # 日期差值
    now.daysTo(xmas1) # 206
    xmas1.daysTo(now) # -206,因此向后为正,向前为负
    datetime = QDateTime.currentDateTime()
    print(datetime.toString()) # 周二 6月 1 11:37:52 2021
    # UTC是universal coordinated time,是全球统一的那个时间
    print('Universal datetime: ', datetime.toUTC().toString(Qt.ISODate))
    # Universal datetime:  2021-06-01T03:37:52Z
    print(f'The offset from UTC is: {datetime.offsetFromUtc()} seconds')
    # The offset from UTC is: 28800 seconds
    # 以下测试是单独的,忽略数值差异
    print(datetime.toString(Qt.ISODate)) # 2021-06-01T13:30:37
    print(datetime.addDays(12).toString(Qt.ISODate)) # 2021-06-13T13:30:37
    print(datetime.addDays(-12).toString(Qt.ISODate)) # 2021-05-20T13:30:37
    print(datetime.addSecs(-12).toString(Qt.ISODate)) # 2021-06-01T13:30:25
    print(datetime.addMonths(-1).toString(Qt.ISODate)) # 2021-05-01T13:30:37
    print(datetime.addYears(1).toString(Qt.ISODate)) # 2022-06-01T13:30:37
    unix_time = datetime.toSecsSinceEpoch() # 1622525437
    d = QDateTime.fromSecsSinceEpoch(unix_time) #
    print(d.toString(Qt.ISODate)) # 2021-06-01T13:30:37
    time = QTime.currentTime()
    print(time.toString(Qt.DefaultLocaleLongDate)) # 11:37:52
    print(time.toString(Qt.DefaultLocaleShortDate)) # 11:37

第一个窗口

在这里插入图片描述

import sys
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == '__main__':
    app = QApplication(sys.argv) # 用命令行参数创建app对象
    w = QWidget() # 没有parent的widget就是window
    w.resize(250, 150) # (wide, high)
    w.move(300, 300) # 移动到x=300,y=300处
    w.setWindowTitle('Simple')
    w.show() # 在此之前是在内存中的
    sys.exit(app.exec_()) # exec是python关键词

猜你喜欢

转载自blog.csdn.net/pxy7896/article/details/118030141