2019-02-15 界面代码和功能程序分离

2019-02-26  本文已影响0人  gongdiwudu

界面程序文件:mainUi.py代码如下

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):

    def setupUi(self, MainWindow):

        MainWindow.setObjectName("MainWindow")

        MainWindow.resize(498, 430)

        self.centralwidget = QtWidgets.QWidget(MainWindow)

        self.centralwidget.setObjectName("centralwidget")

        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)

        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 501, 431))

        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")

        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)

        self.verticalLayout.setContentsMargins(0, 0, 0, 0)

        self.verticalLayout.setObjectName("verticalLayout")

        self.txt_view = QtWidgets.QTextEdit(self.verticalLayoutWidget)

        font = QtGui.QFont()

        font.setFamily("方正姚体")

        font.setPointSize(20)

        self.txt_view.setFont(font)

        self.txt_view.setObjectName("txt_view")

        self.verticalLayout.addWidget(self.txt_view)

        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()

        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        self.btn_open = QtWidgets.QPushButton(self.verticalLayoutWidget)

        self.btn_open.setObjectName("btn_open")

        self.horizontalLayout_2.addWidget(self.btn_open)

        self.btn_save = QtWidgets.QPushButton(self.verticalLayoutWidget)

        self.btn_save.setObjectName("btn_save")

        self.horizontalLayout_2.addWidget(self.btn_save)

        self.verticalLayout.addLayout(self.horizontalLayout_2)

        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)

        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):

        _translate = QtCore.QCoreApplication.translate

        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

        self.btn_open.setText(_translate("MainWindow", "打开文件"))

        self.btn_save.setText(_translate("MainWindow", "保存文件"))

主程序的代码文件:main.py

import sys

from PyQt5.QtWidgets import QApplication,QMainWindow,QFileDialog

import mainUi

class MainCode(QMainWindow,mainUi.Ui_MainWindow):

    def __init__(self):

            QMainWindow.__init__(self)

            mainUi.Ui_MainWindow.__init__(self)

            self.setupUi(self)

            self.btn_save.clicked.connect(self.on_save)

            self.btn_open.clicked.connect(self.on_open)

    def on_save(self):

            FullFileName,_=QFileDialog.getSaveFileName (self, '文件另存为', r'./','TXT (*.txt)')

            set_text=self.txt_view.toPlainText()

            with open(FullFileName,'wt') as f:

            print(set_text, file = f)

    def on_open(self):

            txtstr=""

            FullFileName, _ = QFileDialog.getOpenFileName(self, '打开', r'./', 'TXT (*.txt)')

            with open(FullFileName, 'rt') as f:

                    lines=f.readlines()

                    for line in lines:

                            txtstr=txtstr+line

                            self.txt_view.setText(txtstr)

if __name__=='__main__':

        app=QApplication(sys.argv)

        md=MainCode()

        md.show()

        sys.exit(app.exec_())

上一篇下一篇

猜你喜欢

热点阅读