카테고리 없음

파일 불러와서 저장하는 GUI

남녀칠세부동산! 2024. 4. 4. 10:42

1. 파일 불러와서 저장하는 GUI

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import os

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        menubar = self.menuBar()
        menu1 = menubar.addMenu('파일')
        menu2 = menubar.addMenu('편집')
        menu3 = menubar.addMenu('선택 영역')

        loadFile = QAction('불러오기', self)
        loadFile.setShortcut('Ctrl+O')
        loadFile.triggered.connect(self.openfile)

        saveFile = QAction('저장하기',self)
        saveFile.setShortcut('Ctrl+S')
        saveFile.triggered.connect(self.savefile)

        quitFile = QAction('종료하기',self)
        quitFile.triggered.connect(QCoreApplication.instance().quit)

        menu1.addAction(loadFile)
        menu1.addAction(saveFile)
        menu1.addAction(quitFile)

        # text edit
        self.textEdit = QTextEdit()
        self.setCentralWidget(self.textEdit)
        self.statusBar()

        self.setWindowTitle('테스트')
        # self.setWindowIcon('penguin-icon.ico')
        self.move(600,400)
        self.resize(400,300)
        self.show()

    def openfile(self):
        fname = QFileDialog.getOpenFileName(self,'Open File', '', 'All File(*);; html File(*.html *.htm)')
        if fname[0]:
            txt = open(fname[0], 'r')

            with txt:
                data = txt.read()
                self.textEdit.setText(data)

    def savefile(self):
        fname = QFileDialog.getSaveFileName(self,'save File', '', 'All File(*);; html File(*.html *.htm)')
        if fname == "":
            return False
        return self.saveFile(fname)

if __name__ == '__main__':
    app=QApplication(sys.argv)
    view=App()
    sys.exit(app.exec_())

 

저장은 안되고 있음. 더 작업해야 함.