from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout, \\
QLabel, QPushButton, QTextBrowser, QLineEdit
from PyQt5.QtCore import Qt
import sys
class 확장된글편집기(QWidget):
def __init__(self):
super().__init__()
self.UI초기화()
def UI초기화(self):
self.line_edit = QLineEdit()
self.line_edit.returnPressed.connect(self.addText)
self.btn_add = QPushButton('입력')
self.btn_add.clicked.connect(self.addText)
self.tb = QTextBrowser()
self.tb.setAcceptRichText(True)
self.tb.setOpenExternalLinks(True)
self.tb.append('일반 플래인 텍스트입니다.')
self.tb.setAlignment(Qt.AlignCenter)
self.btn_clear = QPushButton('지우기')
self.btn_clear.clicked.connect(self.clearText)
vbox = QVBoxLayout()
vbox.addWidget(self.line_edit)
vbox.addWidget(self.tb)
vbox.addWidget(self.btn_add)
vbox.addWidget(self.btn_clear)
self.setLayout(vbox)
self.setWindowTitle('QTextBrowser')
self.setGeometry(300, 300, 300, 400)
self.show()
def addText(self):
text = self.line_edit.text()
self.tb.append(text)
self.line_edit.clear()
def clearText(self):
self.tb.clear()
프로그램무한반복 = QApplication(sys.argv)
실행인스턴스 = 확장된글편집기()
프로그램무한반복.exec_()
QTextBrowser는 앞서 배웠던 QTextEdit의 확장형입니다. 여기서는 하이퍼링크, 마크업 언어가 사용가능합니다.
self.line_edit = QLineEdit()
self.line_edit.returnPressed.connect(self.addText)
self.btn_add = QPushButton('입력')
self.btn_add.clicked.connect(self.addText)
def addText(self):
text = self.line_edit.text()
self.tbs.append(text)
self.line_edit.clear()
self.tbs = QTextBrowser()
self.tbs.setAcceptRichText(True)
self.tbs.setOpenExternalLinks(True)
self.tbs.append('일반적인 플레인 텍스트입니다.')
self.tbs.setAlignment(Qt.AlignCenter)
self.btn_clear = QPushButton('지우기')
self.btn_clear.clicked.connect(self.ClearText)
def clearText(self):
self.tbs.clear()