当前位置: 首页 > news >正文

PySide6 控件插入日期时间(QDateTime)

PySide6 控件插入日期时间(QDateTime)

这篇文章的由来

这篇文章是基于实现win10记事本中编辑菜单项的时间/日期行为的测试。
有兴趣的话可以看看我的项目

前置知识

日期时间的格式化编码

ISO8601

代码逻辑

这里只有关键的代码逻辑。

  1. 获取当前时间(QDateTime.currentDateTime方法)
  2. 格式化输出1返回的(QDateTime.toString方法)
  3. 将2返回的字符串添加到需要的控件中
代码演示

基于行文本编辑(QLineEdit)

# coding = utrf-8from PySide6.QtWidgets import QWidget,QLineEdit,QPushButton,QHBoxLayout,QApplication
from PySide6.QtCore import QDateTime
import sysclass MyWidget(QWidget):"""自定义窗口控件:param QWidget: 基础控件"""def __init__(self):"""构造函数"""super().__init__()def setupUi(self):"""设置用户界面"""# 主布局使用水平布局hbox = QHBoxLayout(self)#创建 行编辑和添加按钮self.lineEdit = QLineEdit()self.insertDateBtn = QPushButton("插入当前日期")# 添加控件到布局hbox.addWidget(self.lineEdit)hbox.addWidget(self.insertDateBtn)def setEventBind(self):"""设置事件绑定"""self.insertDateBtn.clicked.connect(self.insertDate)def insertDate(self):"""插入日期"""currentDateTime = QDateTime.currentDateTime()formattedTime = currentDateTime.toString("hh:mm yyyy/MM/dd")self.lineEdit.insert(formattedTime)if __name__ == "__main__":app = QApplication(sys.argv)myWidget = MyWidget()myWidget.show()myWidget.setupUi()myWidget.setEventBind()sys.exit(app.exec())

基于文本编辑

# coding = utrf-8from PySide6.QtWidgets import QWidget,QTextEdit,QPushButton,QVBoxLayout,QApplication
from PySide6.QtCore import QDateTime
import sysclass MyWidget(QWidget):"""自定义窗口控件:param QWidget: 基础控件"""def __init__(self):"""构造函数"""super().__init__()def setupUi(self):"""设置用户界面"""# 主布局使用垂直布局vbox = QVBoxLayout(self)#创建 文本编辑和添加按钮self.textEdit = QTextEdit()self.insertDateBtn = QPushButton("插入当前日期")# 添加控件到布局vbox.addWidget(self.textEdit)vbox.addWidget(self.insertDateBtn)def setEventBind(self):"""设置事件绑定"""self.insertDateBtn.clicked.connect(self.insertDate)def insertDate(self):"""插入日期"""currentDateTime = QDateTime.currentDateTime()formattedTime = currentDateTime.toString("hh:mm yyyy/MM/dd")self.textEdit.insertPlainText(formattedTime)if __name__ == "__main__":app = QApplication(sys.argv)myWidget = MyWidget()myWidget.show()myWidget.setupUi()myWidget.setEventBind()sys.exit(app.exec())

基于文本预览

# coding = utrf-8from PySide6.QtWidgets import QWidget,QTextBrowser,QPushButton,QVBoxLayout,QApplication
from PySide6.QtCore import QDateTime
import sysclass MyWidget(QWidget):"""自定义窗口控件:param QWidget: 基础控件"""def __init__(self):"""构造函数"""super().__init__()def setupUi(self):"""设置用户界面"""# 主布局使用垂直布局vbox = QVBoxLayout(self)#创建 文本编辑和添加按钮self.textBrowser = QTextBrowser()self.insertDateBtn = QPushButton("插入当前日期")# 添加控件到布局vbox.addWidget(self.textBrowser)vbox.addWidget(self.insertDateBtn)def setEventBind(self):"""设置事件绑定"""self.insertDateBtn.clicked.connect(self.insertDate)def insertDate(self):"""插入日期"""currentDateTime = QDateTime.currentDateTime()formattedTime = currentDateTime.toString("hh:mm yyyy/MM/dd")self.textBrowser.insertPlainText(formattedTime)if __name__ == "__main__":app = QApplication(sys.argv)myWidget = MyWidget()myWidget.show()myWidget.setupUi()myWidget.setEventBind()sys.exit(app.exec())
效果演示

插入日期 行编辑实现

插入日期 文本编辑实现

插入日期 文本阅读实现

http://www.dtcms.com/a/499491.html

相关文章:

  • 网站建设 jsp php垂直网站建设
  • 招商网站大全企业官方网站建设的流程
  • 征程 6 | 工具链如何支持 Matmul/Conv 双 int16 输入量化?
  • 【案例实战】鸿蒙分布式调度:跨设备协同实战
  • 中英文网站设计网站开发投标文件
  • Langgraph译文1:让AI自主决策的代理架构
  • 如何让百度能查到自己衡阳专业的关键词优化终报价
  • 为什么.NET的System.IO.Compression无法解压zlib流
  • 微信小程序:日常零售供应系统
  • 安卓如何查看settings是被哪个进程更新的?相关dumpsys命令剖析
  • 网络营销方式案例分析郑州网站优化推广
  • 下载软件太慢的加速操作
  • 网站改版技术要求git wordpress中文免费主题
  • 从应力到位移:混合模式分层损伤起始点推导
  • Gartner 2025年新兴技术成熟度曲线
  • HCIA DAY2
  • 【Go】--文件上传
  • 基于SpringBoot及PostgreSQL的国家减肥食谱管理项目(中):食谱与菜单配置搭建
  • 网站建设 需要准备材料安徽六安特产有哪些
  • Qt的QT_QPA_EGLFS_INTEGRATION环境变量浅解
  • ppt设计网站有哪些银行管理系统网站建设
  • 矽塔 SA8209 输入耐压36V 8A过流保护阈值 过压过流保护芯片 SOT23
  • 【Trae】如何使用Trae编译C++(附带MinGW)
  • thinkpad t480 更换开机LOGO
  • 重庆网站建设就选承越做国外的众筹网站
  • Go基础知识(二)
  • Go小工具合集
  • Go 1.26 内置函数 new 新特性
  • 十堰微网站建设多少钱wordpress开头
  • Debian 的 网络管理器 被意外卸载,修复过程