PyQt(3) - QTextEdit과 QPlainText

Gyeomii·2022년 6월 24일
0

DDITPython

목록 보기
8/18
post-thumbnail

📌 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

#UI파일 연결
form_class = uic.loadUiType("myQt04.ui")[0]

#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class) :
    def __init__(self) :
        super().__init__()
        self.setupUi(self)
        #버튼에 기능을 연결하는 코드
        self.pb.clicked.connect(self.gugudan)
        
    #pb가 눌리면 작동할 함수
    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) :
		# qle에서 텍스트 가져오기
		txt = self.qle.text()
    num = int(txt)
    form = ""
		# 1 ~ 9까지 구구단의 형태로 form에 담기
    for i in range(1,10):
        form += "%d * %d  = %d\n" %(num, i, num*i)
    # 텍스트 출력하기        
    self.pte.setPlainText(form)

실행 결과

profile
김성겸

0개의 댓글