在同文件夹下新建一个 测试文档.txt  再运行下面代码,可以实现效果

代码

 1 #!Python3
2 # -*- coding:utf-8 -*-
3
4 """
5 目标:主窗口打开文本文件,修改字体
6
7 文本编辑控件和一个状态栏
8 """
9
10 import sys
11 from PyQt5.QtWidgets import QApplication,QMainWindow,QTextEdit,QAction,QFileDialog,QFontDialog
12 from PyQt5.QtGui import QIcon
13
14 class Example (QMainWindow):
15 def __init__(self):
16 super().__init__()
17 self.initUI()
18
19 def initUI(self):
20 self.textEdit = QTextEdit()
21 self.setCentralWidget(self.textEdit)
22 self.statusBar()
23
24 #打开文件
25 openFile = QAction(QIcon("打开ico.ico"),"打开",self)
26 #定义快捷键
27 openFile.setShortcut("Ctrl+o")
28 openFile.setStatusTip("打开一个文件") #提示语
29 #发送信号
30 openFile.triggered.connect(self.showDialog)
31
32 #改字体
33 chengFont = QAction(QIcon("设置字体ico.ico"),"设置字体",self)
34 #定义快捷键
35 chengFont.setShortcut("Ctrl+A")
36 chengFont.setStatusTip("设置字体") #提示语
37 #发送信号
38 chengFont.triggered.connect(self.chengeFont)
39
40
41 #实例化菜单栏
42 menubar = self.menuBar()
43 #创建菜单
44 fileMenu = menubar.addMenu("&打开文件")
45 fileMenu.addAction(openFile)
46 fileMenu = menubar.addMenu("&设置字体")
47 fileMenu.addAction(chengFont)
48
49 self.setGeometry(300,300,350,300)
50 self.setWindowTitle("打开文件并修改字体")
51 self.show()
52
53 def showDialog(self):
54 fname = QFileDialog.getOpenFileName(self,"打开文件",".") #打开文件当前文件夹下的文件
55 if fname[0]:
56 with open(fname[0],'r') as f:
57 data = f.read()
58 self.textEdit.setText(str(data))
59
60 def chengeFont(self):
61 font,ok =QFontDialog.getFont()
62 if ok:
63 self.textEdit.setFont(font) #打开测试文档里的
64
65 if __name__ == "__main__" :
66 app = QApplication(sys.argv)
67 ex = Example()
68 sys.exit(app.exec_())

PyQt5窗口打开txt文件并设置字体

Python_PyQt5_打开文件并修改字体的更多相关文章

  1. CAD打开文件总是弹出要求选择字体怎么办

    CAD打开文件总是弹出要求选择字体怎么办1.在C:\Documents and Settings\下搜索acad.fmp文件,双击用记事本打开acad.fmp文件,在最后添加内容,上面几行本来就有,不 ...

  2. IDE-IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改、乱码问题

    主题修改 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,可以通过打开左上角的File -> Setting.在 Windows 系统上 IntelliJ IDEA 默认提供的 ...

  3. IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改

    主题修改 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,在 Windows 系统上 IntelliJ IDEA 默认提供的主题有四套:Darcula.IntelliJ.Window ...

  4. winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)

    string filePath = ""; private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) ...

  5. vs2013修改为双击打开文件

    vs2012和vs2013默认是单击打开文件,让人突然就不习惯了,各种不爽. 修改方法: 工具-选项-环境-选项卡和窗口-不勾选允许在预览选项卡中打开新文件.

  6. CentOS 7下修改rabbitmq打开文件数量方法

    以下为使用systemd的修改方法:   1.系统层修改: 通过修改sysctl配置,提高系统的打开文件数量 vim /etc/sysctl.conf,添加: fs.file-max = 65535 ...

  7. 053_修改 Linux 系统的最大打开文件数量

    #!/bin/bash#往/etc/security/limits.conf 文件的末尾追加两行配置参数,修改最大打开文件数量为 65536 cat >> /etc/security/li ...

  8. 脚本_修改 Linux 系统的最大打开文件数量

    #!bin/bash#作者:liusingbon#功能:修改 Linux 系统的最大打开文件数量#追加两行配置参数到文件/etc/security/limits.conf的末尾,修改最大打开文件数量为 ...

  9. MFC之向导页、消息框、文件选择、字体、颜色(三)

    属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面.另外,我们在创建MFC工程时使用的向导对话框也属于属性页对话框,它通过点击“ ...

随机推荐

  1. springboot入门系列(一):简单搭建springboot项目

    Spring Boot 简单介绍 Spring Boot 本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架的应用程序.也就是说,它并不是用来替代S ...

  2. SpringMVC异常的处理机制

    SpringMVC异常的处理机制 处理流程图 其本质还是把异常交给SpringMVC框架来处理 系统的dao.service.controller出现异常都通过throws Exception向上抛出 ...

  3. CocoaFoundation和CoreFoundation之间数据转换(桥接__bridge)

    ARC仅管理Objective-C指针(retain.release.autorelease),不管理CoreFoundation指针,CF指针由人工管理,手动的CFRetain和CFRelease来 ...

  4. this()与super()

    1. 构造器中第一行默认是super(),一旦直接父类的构造器中没有无参的,那么必须显式调用父类的某个有参构造. 2. 构造器中第一行的super()可以换成this(),但是this()和super ...

  5. springcloud中使用dubbo开发rpc服务及调用

    spring cloud中基于springboot开发的微服务,是基于http的rest接口,也可以开发基于dubbo的rpc接口. 一,创建goodsService模块 1, 在创建的goodsSe ...

  6. Python使用psycopg2模块操作PostgreSQL

    https://blog.csdn.net/pcent/article/details/78643611

  7. Java进阶面试

    消息中间件: 1.你们公司生产环境用的是什么消息中间件? https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247484149&am ...

  8. ansible-hoc命令行

    ansible一种开源的自动化工具 ansible: hoc命令行: 是一款开源的自动化运维工具 python paramiko #模拟ssh协议批量管理主机 jinja2 #模板语言,主要用来传递变 ...

  9. 国云数据:中国版的Snowflake,国内数据中台领导者

    [股神巴菲特加持,今年最受关注美股IPO ] 这段时间, 由股神巴菲特54年来首次打新的美股IPO公司Snowflake迅速得到业界重点关注.Snowflake已于2020年9月16日正式上市,发行价 ...

  10. react hooks子给父传值

    子给父传值需要通过事件方法来传值,这里我们子组件是触发了一个点击事件传值: <Button onClick={()=>setshowregister(false)}>注册</B ...