Python_PyQt5_打开文件并修改字体
在同文件夹下新建一个 测试文档.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_打开文件并修改字体的更多相关文章
- CAD打开文件总是弹出要求选择字体怎么办
CAD打开文件总是弹出要求选择字体怎么办1.在C:\Documents and Settings\下搜索acad.fmp文件,双击用记事本打开acad.fmp文件,在最后添加内容,上面几行本来就有,不 ...
- IDE-IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改、乱码问题
主题修改 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,可以通过打开左上角的File -> Setting.在 Windows 系统上 IntelliJ IDEA 默认提供的 ...
- IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改
主题修改 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,在 Windows 系统上 IntelliJ IDEA 默认提供的主题有四套:Darcula.IntelliJ.Window ...
- winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)
string filePath = ""; private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) ...
- vs2013修改为双击打开文件
vs2012和vs2013默认是单击打开文件,让人突然就不习惯了,各种不爽. 修改方法: 工具-选项-环境-选项卡和窗口-不勾选允许在预览选项卡中打开新文件.
- CentOS 7下修改rabbitmq打开文件数量方法
以下为使用systemd的修改方法: 1.系统层修改: 通过修改sysctl配置,提高系统的打开文件数量 vim /etc/sysctl.conf,添加: fs.file-max = 65535 ...
- 053_修改 Linux 系统的最大打开文件数量
#!/bin/bash#往/etc/security/limits.conf 文件的末尾追加两行配置参数,修改最大打开文件数量为 65536 cat >> /etc/security/li ...
- 脚本_修改 Linux 系统的最大打开文件数量
#!bin/bash#作者:liusingbon#功能:修改 Linux 系统的最大打开文件数量#追加两行配置参数到文件/etc/security/limits.conf的末尾,修改最大打开文件数量为 ...
- MFC之向导页、消息框、文件选择、字体、颜色(三)
属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面.另外,我们在创建MFC工程时使用的向导对话框也属于属性页对话框,它通过点击“ ...
随机推荐
- xuexi0.1
1.C语言通过编译器对内存进行了一定的封装.a +=4等效于a=a+4.C语言中数据类型的本质含义:表示一个内存格子的长度和解析方法.(int *)0:表示0是一个指针,这个指针指向一个int类型的数 ...
- spring boot:构建多模块项目(spring boot 2.3.1)
一,为什么要使用多模块? 1,结构更清晰,方便管理 如果只是一个小项目当然没有问题, 但如果功能越增越多则管理越来越复杂, 多模块可以使项目中模块间的结构分离 2,把项目划分成多 ...
- centos8上安装phpmyadmin5
一,下载phpmyadmin5: 1,官网地址: https://www.phpmyadmin.net/ 2,下载 [root@yjweb source]# wget https://files.ph ...
- JAVA XML格式化输出
import org.apache.xml.serialize.OutputFormat; import org.apache.xml.serialize.OutputFormat; import o ...
- python自定义模块引入报错 pycharm
1.首先进入settings->python console 选择Add source roots to PYTHONPATH 2.然后将自己工程文件夹mark as source root 3 ...
- hdu6115 Factory (LCA + 倍增)
Factory Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)Total ...
- Linux入门到放弃之六《磁盘和文件系统管理三》
设置磁盘配额 对之前创建的逻辑卷设置磁盘配额,要求用户student对该逻辑卷 容量的软限制是:5G,硬限制是7G,文件个数软限制为:25个,硬限制为30个. (1)首先对/etc/fstab文件进行 ...
- 010_Java基础语法
目录 Java基础语法 注释 单行注释 // 多行注释 /* */ 文档注释 /** */ 标识符 关键字 标识符注意点 数据类型 强类型语言 弱类型语言 Java基础语法 注释 单行注释 // 多行 ...
- vue学习笔记(六) ----- vue组件
一.模块化与组件化 模块化的定义 模块化在Node中是一个规范,定义一些模块的相关的规则,从代码角度上来说,方便做区别,如果不使用模块化,写在js文件中不利于后期维护和扩展,从代码的层面上就把相关的功 ...
- 如何将Docker升级到最新版本
很早以前,已经使用过了Docker了,但是没有使用过 Docker 部署 NetCore 3.1 的应用程序,今天部署的时候发生了一些问题,解决办法:Docker 版本太低了,那就升级一下.下面是具体 ...