Pyside6 Custom QTextEdit
2022. 5. 30. 22:27ㆍIT
Python 뿐만 아니라 UI가 들어간 일을 하다보면 나만의 디자인이 적용된 QTextEdit가 필요할 수 있다. 비단 QTextEdit뿐만 아니라 모든 위젯들이 그럴 수 있겠다. 아래 그림에서 실행된 모습을 보면 전체가 QTextEdit이고 그 안에 노란네모와 빨간 라인이 그려진 것을 볼 수 있다.
이렇게 Customize를 위해서는 QTextEdit을 상속받아서 paintEvent를 overriding 하면 된다.
코드는 다음에
import sys
from PySide6.QtWidgets import *
from PySide6.QtGui import QPainter, QColor
class MyTextEdit(QTextEdit):
def paintEvent(self, event):
painter = QPainter(self.viewport())
painter.setPen(QColor(0, 255, 0))
painter.setBrush(QColor(255, 250, 0))
painter.drawRect(10, 10, 100, 100)
painter.setPen(QColor(255, 0, 0))
painter.drawLine(0, 10, 100, 100)
QTextEdit.paintEvent(self, event)
app = QApplication(sys.argv)
textEdit = MyTextEdit()
textEdit.show()
sys.exit(app.exec())
반응형
'IT' 카테고리의 다른 글
Python obfuscation (난독화) (0) | 2022.07.05 |
---|---|
Python 얕은 복사와 깊은 복사 (0) | 2022.06.17 |
Python Menu & Toolbar (0) | 2022.05.25 |
Pyside6 window resize & layout (0) | 2022.05.22 |
PySide6 Customized Window (0) | 2022.05.21 |