상세 컨텐츠

본문 제목

[PySide6] QTextEdit 사용하기

pyside6

by 빨간눈동자 2021. 9. 3. 11:53

본문

반응형

아래 예제를 살펴 보자. 

from PySide6.QtWidgets import QApplication,QWidget,QTextEdit,QVBoxLayout,QPushButton
import sys

class TextEditDemo(QWidget):
        def __init__(self,parent=None):
                super().__init__(parent)

                self.setWindowTitle("QTextEdit")
                self.resize(300,270)

                self.textEdit = QTextEdit()
                self.btnPress1 = QPushButton("Button 1")
                self.btnPress2 = QPushButton("Button 2")

                layout = QVBoxLayout()
                layout.addWidget(self.textEdit)
                layout.addWidget(self.btnPress1)
                layout.addWidget(self.btnPress2)
                self.setLayout(layout)

                self.btnPress1.clicked.connect(self.btnPress1_Clicked)
                self.btnPress2.clicked.connect(self.btnPress2_Clicked)

        def btnPress1_Clicked(self):
                self.textEdit.setPlainText("Hello PySide6!")

        def btnPress2_Clicked(self):
                self.textEdit.setHtml("<font color='red' size='6'><red>Hello PySide6!</font>")

if __name__ == '__main__':
        app = QApplication(sys.argv)
        win = TextEditDemo()
        win.show()
        sys.exit(app.exec_())

button 1을 눌렀을 때
Button 2를 눌렀을 때

거의 대부분 기존에 학습한 code이며, 아래 code 들에 대해 좀 더 깊이 살펴보도록 하자. 

self.textEdit = QTextEdit()

def btnPress1_Clicked(self):
	self.textEdit.setPlainText("Hello PySide6")

def btnPress2_Clicked(self):
    self.textEdit.setHtml("<font color='red' size='6'><red>Hello PySide6!</font>")
함수 설명
.toPlainText() QTextEdit에 쓰여진 text를 가져옴 
.setPlainText(String) QTextEdit에 PlainText 형식의 글을 입력
.setHtml(String) QTextEdit에 HTML 형식 글 읿력
.setText(String) QTextEdit에 RichText 형식의 글을 입력
.append(String) QTextEdit에 글자를 추가
.clear() QTextEdit를 지움
함수 설명
.setCurrentFont(QFont) 글자 Font 변경
.setTextColor(QColor) 글자색 변경
.setFontItalic(Boolean) Italic체 적용
.setFontUnderline(Boolean) 글자에 밑줄
.setFontPointSize(size) 글자 크기 변경

 

위 함수 중 몇가지 함수를 사용해 보자 

def btnPress1_Clicked(self):
    self.textEdit.setTextColor(QColor(0, 255, 0, 255))
    self.textEdit.setFontItalic(True)
    self.textEdit.setFontUnderline(True)
    self.textEdit.setFontPointSize(20)
    self.textEdit.setPlainText("Hello PySide6")

Button 1을 눌렀을 때

 

 

참고로, 

QTextEdit 대신 QPlainTextEdit class를 사용할 수 있다. 

다만, QPlainTextEdit는 font size/color/style을 변경하지 못하고 system에서 지정한대로만 글씨를 출력한다.

font size/color/style의 변경을 원할 경우, QTextEdit class를 사용하자. 

반응형

'pyside6' 카테고리의 다른 글

[PySide6] QComboBox 사용하기  (2) 2021.09.09
[PySide6] QTextBrowser 사용하기  (0) 2021.09.03
[PySide6] Style sheet 사용법(WIP)  (0) 2021.09.03
[PySide6] QDockWidget 사용하기  (0) 2021.09.03
[PySide6] QFrame과 QColorDialog 사용하기  (0) 2021.09.02

관련글 더보기