hello,大家好,我是wangzirui32,今天我们来学习如何用PyQt5设计一个文本编辑器窗体,开始学习吧!
1. UI窗体设计
首先,请确保你的Python解释器中已经安装了PyQt5和PyQt5-tools。
使用Designer的设计结果如下:
图片素材:
这里有几点需要说明,第一,文本框是由plainTextEdit控件实现的:
第二,工具栏是由Tool Button控件实现:
设置它的图标属性:(以打开按钮为例)
还有,每一个按钮对象的对象名(objectName)请设置为tool_图标文件名
,如:tool_open, tool_save等。
最后,每一个工具栏按钮的说明是由Label控件实现,但是要将显示文件路径的Label控件的对象名设置为filepath。
UI及图片素材下载链接:https://download.csdn.net/download/wangzirui32/20347599
2. 编写代码
2.1 pyuic生成代码
在命令行中输入以下命令:(注意:要切换到ui文件所在的目录)
pyuic5 -o window.py Text_Edit.ui
可以看到,在目录下生成了window.py。
2.2 修改window.py
新增代码如下:
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox, QFileDialog
from os.path import isfile
import sys
class Ui_TextEdit(object):
def setupUi(self, TextEdit):
TextEdit.setObjectName("TextEdit")
......
QtCore.QMetaObject.connectSlotsByName(TextEdit)
# 自定义设置
self.open_filename = None
self.log_content = []
self.log_index = -1
def retranslateUi(self, TextEdit):
_translate