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

PySide6 主窗口(QMainWindow)菜单(QMenu)实现打开并读取文本文件

PySide6 主窗口(QMainWindow)菜单(QMenu)实现打开并读取文本文件

单行文本框(QLineEdit)实现

# coding = utf-8from PySide6.QtWidgets import QMainWindow,QLineEdit,QApplication,QFileDialogimport sysclass MyWindow(QMainWindow):def __init__(self):super().__init__()self.setupUi()self.eventBind()def setupUi(self):self.setWindowTitle("打开并读取文本文件")menuBar_ = self.menuBar()fileMenu = menuBar_.addMenu("文件(&F)")self.openAction = fileMenu.addAction("打开(&O)")self.lineEdit = QLineEdit()self.setCentralWidget(self.lineEdit)self.openAction.setShortcut("Ctrl + O")def eventBind(self):self.openAction.triggered.connect(self.openFile)def openFile(self):filePath, _ = QFileDialog.getOpenFileName(self, "Open file","/home","(*.txt)")if len(filePath):with open(filePath,"r") as file:self.lineEdit.setText(file.read())if __name__ == "__main__":app = QApplication(sys.argv)myWindow = MyWindow()myWindow.show()sys.exit(app.exec())

文本编辑器(QPlainTextEdit)实现

# coding = utf-8from PySide6.QtWidgets import QMainWindow,QPlainTextEdit,QApplication,QFileDialogimport sysclass MyWindow(QMainWindow):def __init__(self):super().__init__()self.setupUi()self.eventBind()def setupUi(self):self.setWindowTitle("打开并读取文本文件")menuBar_ = self.menuBar()fileMenu = menuBar_.addMenu("文件(&F)")self.openAction = fileMenu.addAction("打开(&O)")self.plainTextEdit = QPlainTextEdit()self.setCentralWidget(self.plainTextEdit)self.openAction.setShortcut("Ctrl + O")def eventBind(self):self.openAction.triggered.connect(self.openFile)def openFile(self):filePath, _ = QFileDialog.getOpenFileName(self, "Open file","/home","(*.txt *.*)")if len(filePath):with open(filePath,"r") as file:self.plainTextEdit.setPlainText(file.read())if __name__ == "__main__":app = QApplication(sys.argv)myWindow = MyWindow()myWindow.show()sys.exit(app.exec())

参考

文件对话框

示例

主窗口
打开文件对话框
读取文件
单行读取文件

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

相关文章:

  • Steam秋季特卖倒计时!用UU远程国庆随时购史低游戏!
  • Linux系统C++开发环境搭建工具(一)—— gflags/gtest/spdlog 使用指南
  • MySQL逻辑备份工具mysqldump:原理剖析与实操指南
  • Java-Spring入门指南(十一)代理模式与Spring AOP实战
  • 实名认证接口-识破虚假身份:科技为信任筑起第一道防线
  • 柘林网站建设wordpress改背景图片
  • RokcetMQ事务消息详解
  • Athena + S3 数据分析实战(深度版):从数据湖到可视化 BI
  • IP纯净度检测工具
  • 第四部分:VTK常用类详解(第114章 vtkStreamTracer流线追踪类)
  • MATLAB的CFAR(恒虚警率)图像目标检测
  • 2025三掌柜赠书活动第三十五期 AI辅助React Web应用开发实践:基于React 19和GitHub Copilot
  • HRPC在Polaris存储系统中的应用
  • 网站在百度无法验证码怎么办网站开发技术有包括
  • 【AI时代速通QT】第八节:Visual Studio与Qt-从项目迁移到多版本管理
  • Spring线程池:ThreadPoolExecutor与ThreadPoolTaskExecutor终极对比
  • IDEA创建SpringBoot项目使用JDK1.8
  • 深入分析JAR和WAR包的区别 (指南七)
  • 详解 OpenCV 中的仿射变换:原理与实战案例
  • 计算机视觉(opencv)——基于 dlib 和 CNN卷积神经网络 的人脸检测
  • 黑色背景的网站开发工具微信商城收费吗
  • html快速学习
  • 门户网站 模板之家办公室门户网站建设和管理工作
  • Git 基础 - 查看提交历史
  • 《Linux 构建工具核心:make 命令、进度条、Gitee》
  • vlan batch { vlan-id1 [ to vlan-id2 ] } 概念及题目
  • 济宁网站建设服务互联网公司怎么赚钱
  • Linux-简单命令
  • Linux ​​ls​​ 命令进阶:从隐藏文件到递归显示,成为文件浏览大师
  • VPS服务器锁等待超时处理,如何有效解决数据库性能瓶颈