PyQt6从入门到放弃

2024-03-30 18:04
文章标签 入门 放弃 pyqt6

本文主要是介绍PyQt6从入门到放弃,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PyQt6从入门到放弃

安装PyQt6

pip install PyQt6
# 查看QT和PyQT的版本
from PyQt6.QtCore import QT_VERSION_STR
from PyQt6.QtCore import PYQT_VERSION_STR
print(QT_VERSION_STR)
print(PYQT_VERSION_STR)

PyQt6模块

PyQt6类由一系列模块组成包括QtCore、QtGui、QtWidgets等模块。QtCore模块式非GUI的核心库,用来处理时间、文件、目录、各种类型的数据、流、URLs、mime类型、线程和进程。QtGui有窗口系统集成、事件处理、2D图形、基本图像、字体、文本的类。QtWidgets有创建用户界面的类。QtDBus使用D-Bus处理IPC通讯的类。QtNetwork是网络编程类,QtHelp包含了创建、查看和搜索文档的类。QtXml包含了处理XML文件的类。QtSvg提供了显示SVG的类,QtSql提供了数据库的类,QtTest提供了单元测试的类。

日期和事件

(1)当前日期和时间

from PyQt6.QtCore import QDate, QTime, QDateTime, Qt# currentDate获得当前日期
now = QDate.currentDate()
# 2024-03-19
print(now.toString(Qt.DateFormat.ISODate))
# 19 Mar 2024
print(now.toString(Qt.DateFormat.RFC2822Date))
# currentDateTime获取当前的日期和时间
datetime = QDateTime.currentDateTime()
# Tue Mar 19 23:03:06 2024
print(datetime.toString())
# currentTime获取当前时间
time = QTime.currentTime()
# 23:03:06
print(time.toString(Qt.DateFormat.ISODate))

(2)UTC时间

from PyQt6.QtCore import QDateTime, Qt# 获取本地时间的当前时间
now = QDateTime.currentDateTime()
# 当前时间: 2024-03-23T14:04:45
print('当前时间:', now.toLocalTime().toString(Qt.DateFormat.ISODate))
# 从时间对象中获取标准时间 UTC时间: 2024-03-23T06:04:45Z
print('UTC时间:', now.toUTC().toString(Qt.DateFormat.ISODate))
# 本地时间和标准时间的差异: 28800 seconds
print(f'本地时间和标准时间的差异: {now.offsetFromUtc()} seconds')
# 当前时间: 2024-03-23T14:04:45
print('当前时间:', now.toString(Qt.DateFormat.ISODate))

(3)天数

from PyQt6.QtCore import QDatenow = QDate.currentDate()
d = QDate(2024, 4, 23)
# 2024年4月有30天
print(f'2024年4月有{d.daysInMonth()}天')
# 2024年有366天
print(f'2024年有{d.daysInYear()}天')

(4)天数差

from PyQt6.QtCore import QDate, Qtnow = QDate.currentDate()
y = now.year()
# 今天是2024-03-23
print(f'今天是{now.toString(Qt.DateFormat.ISODate)}')
xmas1 = QDate(y-1, 12, 25)
xmas2 = QDate(y, 12, 25)
dayspassed = xmas1.daysTo(now)
# 从2023-12-25已经过了89天
print(f'从{xmas1.toString(Qt.DateFormat.ISODate)}已经过了{dayspassed}天')
nofdays = now.daysTo(xmas2)
# 距离2024-12-25还剩277天
print(f'距离{xmas2.toString(Qt.DateFormat.ISODate)}还剩{nofdays}天')

(5)时间的计算

from PyQt6.QtCore import QDateTime, Qtnow = QDateTime.currentDateTime()
# 今天是2024-03-23T14:28:07
print(f'今天是{now.toString(Qt.DateFormat.ISODate)}')
# 12天后是2024-04-04T14:28:07
print(f'12天后是{now.addDays(12).toString(Qt.DateFormat.ISODate)}')
# 12天前是2024-03-11T14:28:07
print(f'12天前是{now.addDays(-12).toString(Qt.DateFormat.ISODate)}')
# 50秒后是2024-03-23T14:28:57
print(f'50秒后是{now.addSecs(50).toString(Qt.DateFormat.ISODate)}')
# 3分钟后是2024-06-23T14:28:07
print(f'3分钟后是{now.addMonths(3).toString(Qt.DateFormat.ISODate)}')
# 10年后是2034-03-23T14:28:07
print(f'10年后是{now.addYears(10).toString(Qt.DateFormat.ISODate)}')

PyQt6显示窗口小程序

import sys
from PyQt6.QtWidgets import QApplication, QWidgetdef main():# 每个应用程序都必须创建一个应用程序对象# sys.argv是来自命令行的参数app = QApplication(sys.argv)# QWidget小部件是所有用户界面对象的基类,提供了默认的构造函数w = QWidget()# 改变小部件的尺寸,宽250像素,高150像素w.resize(250, 200)# 小部件移动到屏幕的指定坐标w.move(300, 300)# 设置窗口标题w.setWindowTitle('Simple')# 在屏幕上显示小部件w.show()# 如果调用exit方法或小部件被销毁则主循环结束sys.exit(app.exec())if __name__ == '__main__':main()

气泡提示小程序

import sys
from PyQt6.QtWidgets import (QApplication, QWidget, QToolTip, QPushButton)
from PyQt6.QtGui import QFontclass Bubble(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):QToolTip.setFont(QFont('SansSerif', 10))self.setToolTip('这是一个<b>小部件</b>')btn = QPushButton('QPushButton', self)# 创建气泡提示框btn.setToolTip('这是一个<b>QPushButton</b>小部件')# 给按钮一个系统建议的尺寸btn.resize(btn.sizeHint())btn.move(50, 50)self.setGeometry(300, 300, 300, 200)self.setWindowTitle('提示框')self.show()    def main():    app = QApplication(sys.argv)    w = Bubble()sys.exit(app.exec())    if __name__ == '__main__':main()

退出按钮

import sys
from PyQt6.QtWidgets import (QApplication, QWidget, QToolTip, QPushButton)
from PyQt6.QtGui import QFontclass Bubble(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):# 参数1是按钮的标签,参数2是父级小部件qbtn = QPushButton('Quit', self)# 事件处理系统是信号和插槽机制构成的,点击按钮会发出点击信号# QApplication.instance获取QCoreApplication对象包含事件主循环,处理和分派所有事件# 点击的信号连接到终止应用程序的退出方法qbtn.clicked.connect(QApplication.instance().quit)qbtn.resize(qbtn.sizeHint())qbtn.move(50, 50)self.setGeometry(300, 300, 350, 250)self.setWindowTitle('Quit Button')self.show()    def main():    app = QApplication(sys.argv)    w = Bubble()sys.exit(app.exec())    if __name__ == '__main__':main()

弹框

点击关闭时弹出确认框确认是否关闭。

import sys
from PyQt6.QtWidgets import (QApplication, QWidget, QMessageBox)class Popup(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 350, 250)self.setWindowTitle('消息框')self.show()    def closeEvent(self, event):reply = QMessageBox.question(self, 'Message', '确定退出?', QMessageBox.StandardButton.Yes|QMessageBox.StandardButton.No,QMessageBox.StandardButton.No)if reply == QMessageBox.StandardButton.Yes:event.accept()else:event.ignore()def main():    app = QApplication(sys.argv)    w = Popup()sys.exit(app.exec())    if __name__ == '__main__':main()

窗口居中显示

import sys
from PyQt6.QtWidgets import (QApplication, QWidget, QMessageBox)class Popup(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(350, 250)self.center()self.setWindowTitle('居中')self.show()    def center(self):# 得到一个矩形窗口qr = self.frameGeometry()# 从屏幕属性中计算出分辨率cp = self.screen().availableGeometry().center()qr.moveCenter(cp)self.move(qr.topLeft())def main():    app = QApplication(sys.argv)    w = Popup()sys.exit(app.exec())    if __name__ == '__main__':main()

菜单和工具栏

QMainWindow类提供了主程序窗口,可以创建一个具有状态栏、工具栏和菜单栏的经典应用框架。

(1)状态栏显示就绪

import sys
from PyQt6.QtWidgets import (QApplication, QMainWindow)class StateColumn(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.statusBar().showMessage('就绪')self.setGeometry(300, 300, 250, 250)self.setWindowTitle('状态栏')self.show()        def main()

这篇关于PyQt6从入门到放弃的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/862189

相关文章

SpringCloud Stream 快速入门实例教程

《SpringCloudStream快速入门实例教程》本文介绍了SpringCloudStream(SCS)组件在分布式系统中的作用,以及如何集成到SpringBoot项目中,通过SCS,可... 目录1.SCS 组件的出现的背景和作用2.SCS 集成srping Boot项目3.Yml 配置4.Sprin

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

MySQL索引踩坑合集从入门到精通

《MySQL索引踩坑合集从入门到精通》本文详细介绍了MySQL索引的使用,包括索引的类型、创建、使用、优化技巧及最佳实践,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录mysql索引完整教程:从入门到入土(附实战踩坑指南)一、索引是什么?为什么需要它?1.1 什么

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2