0

使用Python库pyqt5制作TXT阅读器(一)-------UI设计 - pikeduo

 1 year ago
source link: https://www.cnblogs.com/pikeduo/p/17037171.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

项目地址:https://github.com/pikeduo/TXTReader
PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/pyqt5/
QtDesigner学习地址:https://youcans.blog.csdn.net/article/details/120640342

一、前期准备

QtDesigner是一个可视化的GUI设计工具,首先我们要在pycharm上配置QtDesigner,用来设计ui,确保你已经安装了pyqt5库。

python
pip install pyqt5

点击File->Settings->Tools->External Tools,点击+添加外部工具。

在这里插入图片描述


下面是QtDesigner的一些配置

Name:QtDesigner 可自定义
Program:E:\项目根目录\venv\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
Arguments:不用填
Workig directory: ProjectFileDir\QtDesigner\UI

其中Program填designer.exe的地址,如果找不到在哪里,则在pycharm主界面连续点击两次Shift,进入搜索界面搜索。

在这里插入图片描述


记住要将右上角的框勾上。
工作目录里ProjectFileDir是项目根目录,QtDesigner\UI是自己创建的目录,可自行选择是否创建,设计的ui文件会保存到这个目录下。

在这里插入图片描述


点击ok后,再点击aplay,如果没点的话则设置不成功且要成功设置。
接下来配置pyUIC,将qrc文件转化为py文件,配置如下

Name:puUIC 可自定义
Program:E:\项目地址\venv\Scripts\python.exe
Arguments:-m PyQt5.uic.pyuic FileName -o $FileNameWithoutExtension.pyWorkigdirectory:$ProjectFileDir\QtDesigner\UI

在这里插入图片描述


最后是配置pyrc,将资源文件转换为py文件,配置如下

Name:qrcTopy 可自定义
Program:E:\项目地址\venv\Scripts\pyrcc5.exe
Arguments:-o ../$FileNameWithoutExtensionrc.py$FileNameWithoutExtension.qrc
Workig directory: FileDir

注意,Arguments中../$FileNameWithoutExtension加了,代表要将编译后的文件存储到父目录,因为文件是存储在目录下,文件名加了是因为每次设计完,将文件编译成文件后,会rc.py加了../,代表要将编译后的py文件存储到父目录,因为qrc文件是存储在resource目录下,文件名加了rc是因为每次设计完ui,将ui文件编译成py文件后,会‘import$FileNameWithoutExtension_rc.py`,为了方便,干脆直接加上_rc。

在这里插入图片描述


我的目录结构如下

在这里插入图片描述

二、UI设计

(1)主窗口

依次点击Tools->External Tools->QtDesigner,打开QtDesigner,创建一个窗口。

在这里插入图片描述


在右边属性编辑器里,设置窗口的最小大小为1280X720。

在这里插入图片描述


添加窗口图标,图标来源于阿里矢量图库
在右边属性编辑器找到windowIcon,选择资源

在这里插入图片描述


点击左上角的笔编辑资源,新建资源文件,在你的项目resource目录下新建一个resource.qrc文件。

在这里插入图片描述


在右下角加号添加一个前缀icon,然后添加文件,将文件全部复制过来,选择一个文件作为图标。

在这里插入图片描述


快捷键Ctrl+R可以预览ui界面。

在这里插入图片描述


右边对象查看器,在主窗口下添加一个工具栏

在这里插入图片描述


主窗口设计完毕,接下来是将ui文件和qrc文件转换为py文件。
找到ui文件,右键,External Tools->pyUIC,然后可以看到在同目录下生成了UIReader.py文件

python
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'UIReader.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1280, 720)
        MainWindow.setMinimumSize(QtCore.QSize(1280, 720))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icon/reader.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_2.setObjectName("gridLayout_2")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 26))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.toolBar = QtWidgets.QToolBar(MainWindow)
        self.toolBar.setObjectName("toolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "TXT阅读器"))
        MainWindow.setStatusTip(_translate("MainWindow", "TXT阅读器"))
        self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
import resource_rc

代码中包含一些累赘的信息,这是因为在QtDesigner中,如果你设置布局后又删除,在ui文件中还会保存这些信息。
找到resource.qrc文件,右键,External Tools->qrtTopy,将resource.qrc文件转换为py文件,可以看到在项目根目录下生成了resource_rc.py文件。
在创建一个main.py文件,调用UIReader.py文件,运行显示主窗口。

python
import sys

from PyQt5.QtWidgets import QMainWindow, QApplication

from QtDesigner.UI.UIReader import Ui_MainWindow


class MyMainWindow(QMainWindow, Ui_MainWindow): # 继承 QMainWindow 类和 Ui_MainWindow 界面类
    def __init__(self, parent=None):
        super(MyMainWindow, self).__init__(parent)  # 初始化父类
        self.setupUi(self)  # 继承 Ui_MainWindow 界面类

if __name__ == '__main__':
    app = QApplication(sys.argv)  # 在 QApplication 方法中使用,创建应用程序对象
    myWin = MyMainWindow()  # 实例化 MyMainWindow 类,创建主窗口
    myWin.show()  # 在桌面显示控件 myWin
    sys.exit(app.exec_())  # 结束进程,退出程序

在这里插入图片描述


虽然窗口图标有了,但是最小化图标还没有,在main.py文件添加ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("myappid"),发现图标显示出来了。

在这里插入图片描述

(2)菜单栏

在菜单栏添加一个文件菜单,建立两个子菜单,打开文件和打开最近的文件,为其添加图标。
注意子菜单栏名称不能直接输入中文,要在右边属性栏里更改。

在这里插入图片描述


在打开最近的文件里,再添加子菜单,注意其类从QAction变更为QMenu。

在这里插入图片描述


添加了一个子菜单后再删除,其类从QAction变更为了QMenu。
添加设置菜单栏,设置字体和颜色。

在这里插入图片描述


设置背景图片。

在这里插入图片描述


恢复默认设置。

在这里插入图片描述


然后是退出按钮。

在这里插入图片描述


因为QMenu类不能绑定动作,所以要建一个子菜单,为其绑定动作,可以添加快捷键,右边找到shortcut,按Ctrl+Q,快捷键设置完成。
右下角,信号和槽,绑定动作。

在这里插入图片描述


完成!编译完后运行。

在这里插入图片描述


UIReader.py的代码如下:

python
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'UIReader.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1280, 720)
        MainWindow.setMinimumSize(QtCore.QSize(1280, 720))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icon/reader.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_2.setObjectName("gridLayout_2")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 26))
        self.menubar.setObjectName("menubar")
        self.files = QtWidgets.QMenu(self.menubar)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/icon/files.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.files.setIcon(icon1)
        self.files.setObjectName("files")
        self.lastfile = QtWidgets.QMenu(self.files)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/icon/file_last.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.lastfile.setIcon(icon2)
        self.lastfile.setObjectName("lastfile")
        self.setting = QtWidgets.QMenu(self.menubar)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/icon/setting.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setting.setIcon(icon3)
        self.setting.setObjectName("setting")
        self.fontcolor = QtWidgets.QMenu(self.setting)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/icon/fontcolor.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.fontcolor.setIcon(icon4)
        self.fontcolor.setObjectName("fontcolor")
        self.bg = QtWidgets.QMenu(self.setting)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(":/icon/bg.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.bg.setIcon(icon5)
        self.bg.setObjectName("bg")
        self.exit = QtWidgets.QMenu(self.menubar)
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap(":/icon/exit.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.exit.setIcon(icon6)
        self.exit.setObjectName("exit")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.toolBar = QtWidgets.QToolBar(MainWindow)
        self.toolBar.setObjectName("toolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
        self.actionfile = QtWidgets.QAction(MainWindow)
        icon7 = QtGui.QIcon()
        icon7.addPixmap(QtGui.QPixmap(":/icon/file.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionfile.setIcon(icon7)
        self.actionfile.setObjectName("actionfile")
        self.action1 = QtWidgets.QAction(MainWindow)
        self.action1.setObjectName("action1")
        self.actionfont = QtWidgets.QAction(MainWindow)
        icon8 = QtGui.QIcon()
        icon8.addPixmap(QtGui.QPixmap(":/icon/font.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionfont.setIcon(icon8)
        self.actionfont.setObjectName("actionfont")
        self.actioncolor = QtWidgets.QAction(MainWindow)
        icon9 = QtGui.QIcon()
        icon9.addPixmap(QtGui.QPixmap(":/icon/color.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actioncolor.setIcon(icon9)
        self.actioncolor.setObjectName("actioncolor")
        self.actionimport = QtWidgets.QAction(MainWindow)
        icon10 = QtGui.QIcon()
        icon10.addPixmap(QtGui.QPixmap(":/icon/import.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionimport.setIcon(icon10)
        self.actionimport.setObjectName("actionimport")
        self.actionclose = QtWidgets.QAction(MainWindow)
        icon11 = QtGui.QIcon()
        icon11.addPixmap(QtGui.QPixmap(":/icon/close.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionclose.setIcon(icon11)
        self.actionclose.setObjectName("actionclose")
        self.actiondefault = QtWidgets.QAction(MainWindow)
        icon12 = QtGui.QIcon()
        icon12.addPixmap(QtGui.QPixmap(":/icon/default.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actiondefault.setIcon(icon12)
        self.actiondefault.setObjectName("actiondefault")
        self.actionexit = QtWidgets.QAction(MainWindow)
        self.actionexit.setIcon(icon6)
        self.actionexit.setObjectName("actionexit")
        self.files.addAction(self.actionfile)
        self.files.addAction(self.lastfile.menuAction())
        self.fontcolor.addAction(self.actionfont)
        self.fontcolor.addAction(self.actioncolor)
        self.bg.addAction(self.actionimport)
        self.bg.addAction(self.actionclose)
        self.setting.addAction(self.fontcolor.menuAction())
        self.setting.addAction(self.bg.menuAction())
        self.setting.addAction(self.actiondefault)
        self.exit.addAction(self.actionexit)
        self.menubar.addAction(self.files.menuAction())
        self.menubar.addAction(self.setting.menuAction())
        self.menubar.addAction(self.exit.menuAction())

        self.retranslateUi(MainWindow)
        self.actionexit.triggered.connect(MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "TXT阅读器"))
        MainWindow.setStatusTip(_translate("MainWindow", "TXT阅读器"))
        self.files.setStatusTip(_translate("MainWindow", "文件"))
        self.files.setTitle(_translate("MainWindow", "文件"))
        self.lastfile.setTitle(_translate("MainWindow", "打开最近的文件"))
        self.setting.setToolTip(_translate("MainWindow", "设置"))
        self.setting.setStatusTip(_translate("MainWindow", "设置"))
        self.setting.setTitle(_translate("MainWindow", "设置"))
        self.fontcolor.setTitle(_translate("MainWindow", "字体和颜色"))
        self.bg.setTitle(_translate("MainWindow", "背景图片"))
        self.exit.setToolTip(_translate("MainWindow", "关闭应用"))
        self.exit.setStatusTip(_translate("MainWindow", "关闭应用"))
        self.exit.setTitle(_translate("MainWindow", "退出"))
        self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
        self.actionfile.setText(_translate("MainWindow", "打开文件"))
        self.actionfile.setStatusTip(_translate("MainWindow", "打开文件"))
        self.actionfile.setShortcut(_translate("MainWindow", "Ctrl+O"))
        self.action1.setText(_translate("MainWindow", "1"))
        self.actionfont.setText(_translate("MainWindow", "选择字体"))
        self.actionfont.setStatusTip(_translate("MainWindow", "选择字体"))
        self.actioncolor.setText(_translate("MainWindow", "选择背景颜色"))
        self.actioncolor.setStatusTip(_translate("MainWindow", "选择背景颜色"))
        self.actionimport.setText(_translate("MainWindow", "导入背景图片"))
        self.actionimport.setStatusTip(_translate("MainWindow", "导入背景图片"))
        self.actionclose.setText(_translate("MainWindow", "关闭背景图片"))
        self.actionclose.setStatusTip(_translate("MainWindow", "关闭背景图片"))
        self.actiondefault.setText(_translate("MainWindow", "恢复默认设置"))
        self.actiondefault.setStatusTip(_translate("MainWindow", "恢复默认设置"))
        self.actionexit.setText(_translate("MainWindow", "退出应用"))
        self.actionexit.setStatusTip(_translate("MainWindow", "退出应用"))
        self.actionexit.setShortcut(_translate("MainWindow", "Ctrl+Q"))
import resource_rc

三、显示界面

显示页面需要一个目录和文本浏览器。
从左侧找到Tree Widget组件,拖到主窗口。在Tree Widget区域,右键编辑项目,添加列命名为章节列表,并将其布局设置为左边。

在这里插入图片描述


左侧找到Text Browser,拖到右边区域,并将整片区域设置为栅格布局。

在这里插入图片描述


为章节目录设置图标,右键编辑项目,在属性里添加图标。

在这里插入图片描述


保存,编译运行。

在这里插入图片描述


UI界面代码。

python
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'UIReader.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1280, 720)
        MainWindow.setMinimumSize(QtCore.QSize(1280, 720))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icon/reader.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName("gridLayout")
        self.treeWidget = QtWidgets.QTreeWidget(self.centralwidget)
        self.treeWidget.setObjectName("treeWidget")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/icon/catlogs.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.treeWidget.headerItem().setIcon(0, icon1)
        self.gridLayout.addWidget(self.treeWidget, 0, 0, 1, 1, QtCore.Qt.AlignLeft)
        self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
        self.textBrowser.setObjectName("textBrowser")
        self.gridLayout.addWidget(self.textBrowser, 0, 1, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 26))
        self.menubar.setObjectName("menubar")
        self.files = QtWidgets.QMenu(self.menubar)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/icon/files.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.files.setIcon(icon2)
        self.files.setObjectName("files")
        self.lastfile = QtWidgets.QMenu(self.files)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/icon/file_last.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.lastfile.setIcon(icon3)
        self.lastfile.setObjectName("lastfile")
        self.setting = QtWidgets.QMenu(self.menubar)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/icon/setting.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setting.setIcon(icon4)
        self.setting.setObjectName("setting")
        self.fontcolor = QtWidgets.QMenu(self.setting)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(":/icon/fontcolor.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.fontcolor.setIcon(icon5)
        self.fontcolor.setObjectName("fontcolor")
        self.bg = QtWidgets.QMenu(self.setting)
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap(":/icon/bg.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.bg.setIcon(icon6)
        self.bg.setObjectName("bg")
        self.exit = QtWidgets.QMenu(self.menubar)
        icon7 = QtGui.QIcon()
        icon7.addPixmap(QtGui.QPixmap(":/icon/exit.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.exit.setIcon(icon7)
        self.exit.setObjectName("exit")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.toolBar = QtWidgets.QToolBar(MainWindow)
        self.toolBar.setObjectName("toolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
        self.actionfile = QtWidgets.QAction(MainWindow)
        icon8 = QtGui.QIcon()
        icon8.addPixmap(QtGui.QPixmap(":/icon/file.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionfile.setIcon(icon8)
        self.actionfile.setObjectName("actionfile")
        self.action1 = QtWidgets.QAction(MainWindow)
        self.action1.setObjectName("action1")
        self.actionfont = QtWidgets.QAction(MainWindow)
        icon9 = QtGui.QIcon()
        icon9.addPixmap(QtGui.QPixmap(":/icon/font.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionfont.setIcon(icon9)
        self.actionfont.setObjectName("actionfont")
        self.actioncolor = QtWidgets.QAction(MainWindow)
        icon10 = QtGui.QIcon()
        icon10.addPixmap(QtGui.QPixmap(":/icon/color.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actioncolor.setIcon(icon10)
        self.actioncolor.setObjectName("actioncolor")
        self.actionimport = QtWidgets.QAction(MainWindow)
        icon11 = QtGui.QIcon()
        icon11.addPixmap(QtGui.QPixmap(":/icon/import.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionimport.setIcon(icon11)
        self.actionimport.setObjectName("actionimport")
        self.actionclose = QtWidgets.QAction(MainWindow)
        icon12 = QtGui.QIcon()
        icon12.addPixmap(QtGui.QPixmap(":/icon/close.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionclose.setIcon(icon12)
        self.actionclose.setObjectName("actionclose")
        self.actiondefault = QtWidgets.QAction(MainWindow)
        icon13 = QtGui.QIcon()
        icon13.addPixmap(QtGui.QPixmap(":/icon/default.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actiondefault.setIcon(icon13)
        self.actiondefault.setObjectName("actiondefault")
        self.actionexit = QtWidgets.QAction(MainWindow)
        self.actionexit.setIcon(icon7)
        self.actionexit.setObjectName("actionexit")
        self.files.addAction(self.actionfile)
        self.files.addAction(self.lastfile.menuAction())
        self.fontcolor.addAction(self.actionfont)
        self.fontcolor.addAction(self.actioncolor)
        self.bg.addAction(self.actionimport)
        self.bg.addAction(self.actionclose)
        self.setting.addAction(self.fontcolor.menuAction())
        self.setting.addAction(self.bg.menuAction())
        self.setting.addAction(self.actiondefault)
        self.exit.addAction(self.actionexit)
        self.menubar.addAction(self.files.menuAction())
        self.menubar.addAction(self.setting.menuAction())
        self.menubar.addAction(self.exit.menuAction())

        self.retranslateUi(MainWindow)
        self.actionexit.triggered.connect(MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "TXT阅读器"))
        MainWindow.setStatusTip(_translate("MainWindow", "TXT阅读器"))
        self.treeWidget.setToolTip(_translate("MainWindow", "章节目录"))
        self.treeWidget.setStatusTip(_translate("MainWindow", "章节目录"))
        self.treeWidget.headerItem().setText(0, _translate("MainWindow", "章节目录"))
        self.files.setStatusTip(_translate("MainWindow", "文件"))
        self.files.setTitle(_translate("MainWindow", "文件"))
        self.lastfile.setToolTip(_translate("MainWindow", "打开最近的文件"))
        self.lastfile.setStatusTip(_translate("MainWindow", "打开最近的文件"))
        self.lastfile.setTitle(_translate("MainWindow", "打开最近的文件"))
        self.setting.setToolTip(_translate("MainWindow", "设置"))
        self.setting.setStatusTip(_translate("MainWindow", "设置"))
        self.setting.setTitle(_translate("MainWindow", "设置"))
        self.fontcolor.setTitle(_translate("MainWindow", "字体和颜色"))
        self.bg.setTitle(_translate("MainWindow", "背景图片"))
        self.exit.setToolTip(_translate("MainWindow", "关闭应用"))
        self.exit.setStatusTip(_translate("MainWindow", "关闭应用"))
        self.exit.setTitle(_translate("MainWindow", "退出"))
        self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
        self.actionfile.setText(_translate("MainWindow", "打开文件"))
        self.actionfile.setStatusTip(_translate("MainWindow", "打开文件"))
        self.actionfile.setShortcut(_translate("MainWindow", "Ctrl+O"))
        self.action1.setText(_translate("MainWindow", "1"))
        self.actionfont.setText(_translate("MainWindow", "选择字体"))
        self.actionfont.setStatusTip(_translate("MainWindow", "选择字体"))
        self.actioncolor.setText(_translate("MainWindow", "选择背景颜色"))
        self.actioncolor.setStatusTip(_translate("MainWindow", "选择背景颜色"))
        self.actionimport.setText(_translate("MainWindow", "导入背景图片"))
        self.actionimport.setStatusTip(_translate("MainWindow", "导入背景图片"))
        self.actionclose.setText(_translate("MainWindow", "关闭背景图片"))
        self.actionclose.setStatusTip(_translate("MainWindow", "关闭背景图片"))
        self.actiondefault.setText(_translate("MainWindow", "恢复默认设置"))
        self.actiondefault.setStatusTip(_translate("MainWindow", "恢复默认设置"))
        self.actionexit.setText(_translate("MainWindow", "退出应用"))
        self.actionexit.setStatusTip(_translate("MainWindow", "退出应用"))
        self.actionexit.setShortcut(_translate("MainWindow", "Ctrl+Q"))
import resource_rc

这样UI界面就初步设计完成了。

__EOF__


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK