📌 QTextEdit과 QPlainTextEdit의 차이
- QTextEdit은 RichText를 지원한다. QPlainText는 지원하지 않는다
- RichTex : 글자의 색상, 크기, 기울임, 굵기 등을 조절할 수 있는 텍스트
- PlainText : RichText와 반대되는 개념이다. 색상, 크기등을 조절할 수 없다. 시스템대로 글자 표시
📌 QTextEdit과 QPlainText의 주요 함수
✔ QTextEdit
함수 | 설명 |
---|
toPlainText() | TextEdit에 쓰여있는 글자를 가져옵니다. |
.setPlainText(String) | TextEdit에 PlainText 형식의 글을 새로 입력합니다. Parameter에는 TextEdit에 표시할 글자가 들어갑니다. |
.setText(String) | TextEdit에 RichText 형식의 글을 입력합니다. Parameter에는 TextEdit에 표시할 글자가 들어갑니다. |
.append(String) | TextEdit에 글자를 추가합니다. 추가된 글자는 다음줄에 표시되며, Parameter에는 추가할 글자가 들어갑니다. |
.clear() | TextEdit에 쓰여있는 글자를 지웁니다. |
함수 | 설명 |
---|
.setCurrentFont(QFont) | TextEdit의 폰트를 바꿉니다. Parameter에는 QFont형식의 객체가 들어갑니다. |
.setTextColor(QColor) | TextEdit의 글자색을 바꿉니다. Parameter에는 QColor형식의 객체가 들어갑니다. |
.setFontItalic(Boolean) | TextEdit에 쓰여있는 글자를 기울입니다. Parameter에는 True/False값이 들어가며, True일 때 글자가 기울여집니다. |
.setFontUnderline(Boolean) | TextEdit의 글자에 밑줄을 적용. Parameter에는 True/False값이 들어가며, True일 때 글자에 밑줄이 쳐집니다. |
.setFontPointSize(size) | TextEdit의 글자 크기를 변경합니다. Parameter에는 글자의 크기(숫자)가 들어갑니다. |
✔ QPlainTextEdit
함수 | 설명 |
---|
.toPlainText() | PlainTextEdit에 쓰여있는 글자를 가져옵니다. |
.setPlainText(String) | PlainTextEdit에 글을 새로 입력합니다. Parameter에는 PlainTextEdit에 표시할 글자가 들어갑니다. |
.appendPlainText(String) | PlainTextEdit에 글자를 추가합니다. 추가된 글자는 다음줄에 표시되며, Parameter에는 추가할 글자가 들어갑니다. |
.clear() | PlainTextEdit에 쓰여있는 글자를 지웁니다. |
📌 QPlainText에 여러 문장 출력하기
코드
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
form_class = uic.loadUiType("myQt04.ui")[0]
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.gugudan)
def gugudan(self) :
txt = self.qle.text()
num = int(txt)
form = ""
for i in range(1,10):
form += "%d * %d = %d\n" %(num, i, num*i)
self.pte.setPlainText(form)
if __name__ == "__main__" :
app = QApplication(sys.argv)
myWindow = WindowClass()
myWindow.show()
app.exec_()
설명
def gugudan(self) :
txt = self.qle.text()
num = int(txt)
form = ""
for i in range(1,10):
form += "%d * %d = %d\n" %(num, i, num*i)
self.pte.setPlainText(form)
실행 결과