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工程时使用的向导对话框也属于属性页对话框,它通过点击“ ...
随机推荐
- 技术债! 怎样简洁高效的实现多个 Enum 自由转换
一:背景 1. 讲故事 前段时间和同事负责一个项目的两个业务模块,可能大家缺少沟通,导致本该定义一个 Enum 的地方结果我俩各自定义了一个,导致后面这两个 Enum 进行对接就烦了,为了方便理解,也 ...
- Jmeter入门(6)- 参数化
一.什么是参数化 为什么要参数化? 在发送大量的请求时,键对值是写死的,每次请求都需要去修改,无法实现快速添加的需求.想要快速实现该需求,就需要用到参数化. 什么是参数化? 根据需求动态获取数据并进行 ...
- 解决Django本地接口不能跨域访问的问题
1.安装django-cors-headers模块: pip install django-cors-headers 2.插入Django的APP配置中: # 修改settings.py中的INSTA ...
- GitHub如何删除项目库Repositories
1.在头像那里找到settings按钮 2.选择repositories 3.找到你要删除的项目 4.点击settings 5.滑到页面最下面,点击delete 7.输入项目名称,复制即可 8.删除后 ...
- retrofit和RxJava结合
public class MainActivity extends AppCompatActivity { @SuppressLint("CheckResult") protect ...
- zctf2016_note2:一个隐蔽的漏洞点挖掘
代码量挺大的,逆起来有难度 功能挺全,啥都有 main函数 add函数,有heaparray并且无pie保护,考虑unlink show函数,可以泄漏地址用 edit函数,有两种edit方式 dele ...
- selenium中的三种等待方式
1.强制等待,采用的time.sleep,然后后面加上要等待的时间: 2.隐性等待implicitly_wait,隐性等待设定后,会对之后的所有代码生效,会在设定的时间之内,不停的去查找元素,如果找到 ...
- C语言实例-能组成多少个三位数?
题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 源代码: #i ...
- ucore操作系统学习(四) ucore lab4内核线程管理
1. ucore lab4介绍 什么是进程? 现代操作系统为了满足人们对于多道编程的需求,希望在计算机系统上能并发的同时运行多个程序,且彼此间互相不干扰.当一个程序受制于等待I/O完成等事件时,可以让 ...
- pandas对列求和
了解更多,请关注公众号"轻松学编程" 一行代码实现对列求和 使用pandas把列表中的字典元素转成二维数组,然后使用pandas函数实现对每一列求和. 代码: import pan ...