일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 엑셀
- Excel
- Android
- 아웃룩
- 파이썬GUI
- python3
- windows
- 안드로이드
- 파워포인트
- VBA
- win32com
- 오피스
- Windows11
- Windows10
- 비주얼베이직
- html
- python
- 문자열
- pyqt5
- 파이썬3
- pythongui
- pandas
- Outlook
- git
- 윈도우10
- matlab
- 파이썬
- office
- 깃
- 윈도우11
Appia의 IT세상
파이썬[Python GUI, PyQt5 Tutorial 022] 메모장 만들기 본문
파이썬[Python GUI, PyQt5 Tutorial 022] 메모장 만들기
이번 포스팅은 간단한 메모장 만들기를 통해서 앞서 잠깐 살펴보았던 QTextEdit와 메뉴바 만들기에 대해서 활용하는 측면에서 살펴보고자 합니다. 일단 여기 이 부분을 작업을 하면서는 PyQt5을 사용했습니다. 또한 파일 입출력 또한 함께 사용하였습니다.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, qApp, QFileDialog, QTextEdit,QHBoxLayout ,QVBoxLayout
class QtGUI(QMainWindow):
def __init__(self):
super().__init__()
self.resize(400, 400)
self.setWindowTitle("Appia")
menubar = self.menuBar()
Filemenu = menubar.addMenu("파일")
Filemenu1 = menubar.addMenu("편집")
Filemenu2 = menubar.addMenu("서식")
loadfile = QAction('laod File ...', self)
savefile = QAction('save File ...', self)
exit = QAction('Exit',self)
loadfile.triggered.connect(self.add_open)
savefile.triggered.connect(self.add_save)
exit.triggered.connect(qApp.quit)
Filemenu.addAction(loadfile)
Filemenu.addAction(savefile)
Filemenu.addAction(exit)
self.text1= QTextEdit(self)
self.text1.setAcceptRichText(True)
self.setCentralWidget(self.text1)
self.show()
def add_open(self):
FileOpen = QFileDialog.getOpenFileName(self, 'Open file', './')
f = open(FileOpen[0],'r')
textcontenct = f.read()
self.text1.setText(textcontenct)
f.close()
def add_save(self):
FileSave = QFileDialog.getSaveFileName(self, 'Save file', './')
textcontent = self.text1.toPlainText()
f = open(FileSave[0], 'w')
f.write(textcontent)
f.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = QtGUI()
app.exec_()
|
cs |
위의 코드를 실행하면 다음과 같은 화면이 나타납니다.
여기에서는 앞서 포스팅에서 생성한 메뉴바를 그대로 활용했습니다. 단, 여기에서 사용된 메뉴바에서 파일 불러오기와 저장하기는 실제로 동작되게 이벤트 처리를 하였습니다. 그럼 그 부분만 먼저 한번 살펴보겠습니다.
def add_open(self):
FileOpen = QFileDialog.getOpenFileName(self, 'Open file', './')
f = open(FileOpen[0],'r')
textcontenct = f.read()
self.text1.setText(textcontenct)
f.close()
def add_save(self):
FileSave = QFileDialog.getSaveFileName(self, 'Save file', './')
textcontent = self.text1.toPlainText()
f = open(FileSave[0], 'w')
f.write(textcontent)
f.close()
|
cs |
위와 같이 총 2개의 함수가 있습니다. add_open의 경우 파일을 불러와서 이 부분을 윈도우에 있는 텍스트 창에 출력되게 하였습니다. 그리고 add_save의 경우에는 현재 텍스트 창에 있는 텍스트를 파일로 저장되게 하는 기능입니다. 코드에서 보셨겠지만, 대부분의 위젯에서는 text()메소드를 통해서 관련 텍스트를 읽어옵니다. 하지만 텍스트 에디트의 경우에는 toPlaintText()를 통해서 읽어오셔야 합니다.
다음 링크를 함꼐 검토하시면 도움이 되실 것라고 생각합니다.
https://appia.tistory.com/90?category=849946
https://appia.tistory.com/297?category=867518
위의 링크와 함께 보시면 조금 더 많이 도움이 되실 것라고 생각합니다. 오늘은 간단하게 파이썬[Python GUI, PyQt5 Tutorial 022] 메모장 만들기라는 주제로 포스팅해봤습니다. 혹시 궁금하신것이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python PyQt5 (GUI)' 카테고리의 다른 글
파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기 (1) | 2020.07.28 |
---|---|
파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기 (0) | 2020.07.26 |
파이썬[Python GUI, PyQt5 Tutorial 021] 메뉴바(Menu Bar) 만들기 (1) | 2020.07.10 |
파이썬[Python GUI, PyQt5 Tutorial 020] GUI 하단 상태바(Status Bar) 만들기 (0) | 2020.07.08 |
파이썬[Python GUI, PyQt5 Tutorial 019] 글자수 세기 프로그램(QText) -공백 포함, 공백 미포함 (0) | 2020.07.06 |