반응형
툴팁은 모든 윈도우 GUI 객체에 문자열로 힌트를 보여주고 싶을 때 사용합니다. 힌트는 해당 객체에 마우스를 올렸을 때 나타납니다. QTooltip 으로 보여주는 힌트는 HTML 디자인이 가능합니다. 일반 텍스트 디자인 요소를 적용해 자신만의 스타일을 만들 수 있습니다.
▼ 먼저 툴팁을 표시할 버튼을 추가합니다. 다음은 개체에 툴팁 세팅을 합니다. 위젯마다 setTooltip() 함수가 있어서 툴팁 개체를 생성할 때 사용합니다. 파라미터로 넘긴 문자열은 툴팁에 표시할 텍스트입니다.
from PyQt5.QtWidgets import QPushButton
# 툴팁 표시할 QPushButton
self.pb = QPushButton('Tooltip Button' ,self)
self.pb.setGeometry(10, 10, 150, 30)
self.pb.clicked.connect(self.click_tooltip)
self.pb.setToolTip('Print Button Tooltip')
▼ 서두에 이야기했듯이 툴팁 텍스트는 디자인이 가능합니다. setToolTip() 은 일반 텍스트뿐만 아니라 HTML 태그를 적용할 수 있습니다. 아래 소스처럼 <b> 태그를 적용하면 텍스트를 굵게 표시합니다.
self.pb = QPushButton('Tooltip Button' ,self)
self.pb.setGeometry(10, 10, 150, 30)
self.pb.clicked.connect(self.click_tooltip)
self.pb.setToolTip('Print <br> Button <b>Tooltip</b>')
▼ 다음은 윈도우 내에 사용하는 툴팁 전체의 폰트와 사이즈를 조절해 보겠습니다. 이것은 특정 위젯에만 구분해서 적용할 수는 없습니다. QToolTip 의 setFont() 함수를 이용해서 변경해야 합니다. setFont() 의 파라미터로 QFont 객체를 생성해서 넘깁니다.
from PyQt5.QtWidgets import QToolTip
from PyQt5.QtGui import QFont
# 툴팁 전체의 폰트 종류와 크기를 조절한다.
QToolTip.setFont(QFont('SansSerif', 16))
▼ 전체 소스는 다음과 같습니다.
#!/usr/bin/env python3
import sys
from PyQt5.QtWidgets import QPushButton, QToolTip, \
QMainWindow, QApplication, QCheckBox
from PyQt5.QtGui import QFont
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 윈도우 설정
self.setGeometry(300, 300, 500, 300) # x, y, w, h
self.setWindowTitle('Status Window')
# 툴팁 표시할 QPushButton
self.pb = QPushButton('Tooltip Button' ,self)
self.pb.setGeometry(10, 10, 150, 30)
self.pb.clicked.connect(self.click_tooltip)
self.pb.setToolTip('Print Button Tooltip')
# self.pb.setToolTip('Print <br> Button <b>Tooltip</b>')
# 툴팁 전체의 폰트 종류와 크기를 조절한다.
QToolTip.setFont(QFont('SansSerif', 16))
# QCheckBox 선택 이벤트
def click_tooltip(self):
print('tooltip button click')
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
반응형
'파이썬 > PyQt5' 카테고리의 다른 글
파이썬(Python) PyQt5 QCalendarWidget 위젯 달력 사용하기 (0) | 2021.11.25 |
---|---|
파이썬(Python) PyQt5 QTreeWidget 사용하기 (0) | 2021.11.24 |
파이썬(Python) PyQt5 QTabWidget 메인화면 탭 구현하기 (0) | 2021.11.22 |
파이썬(PyQt5) QSplitter 위젯 이용해서 조절 가능한 영역 만들기 (0) | 2021.11.20 |
파이썬(Python) PyQt5 Qt Designer 다운받아 화면 구현하기 (0) | 2021.11.19 |