프로그래밍/python
PyQt5 모듈을 이용하여 툴팁표시하기
마루의 일상
2024. 5. 1. 02:46
728x90
반응형
먼저 PyQt5 모듈을 import합니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip
from PyQt5.QtGui import QFont
여기서는 PyQt5에서 필요한 클래스들을 가져왔습니다.
- QApplication: GUI 애플리케이션을 관리합니다.
- QWidget: 모든 사용자 인터페이스 객체의 기본 클래스입니다.
- QPushButton: 사용자가 클릭할 수 있는 버튼을 생성합니다.
- QToolTip: 툴팁을 관리합니다.
- QFont: 폰트를 설정하는 데 사용됩니다.
Example 클래스를 정의합니다.
class Example(QWidget):
QWidget을 상속받는 Example 클래스를 정의합니다.
__init__() 메서드를 정의하여 초기화를 수행합니다.
def __init__(self):
super().__init__()
self.initUI()
부모 클래스의 __init__() 메서드를 호출하여 초기화를 수행한 후, initUI() 메서드를 호출합니다.
initUI() 메서드를 정의하여 사용자 인터페이스를 초기화합니다.
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 10))
툴팁의 기본 폰트를 설정합니다.
self.setToolTip('This is a <b>QWidget</b> widget')
QWidget에 대한 툴팁을 설정합니다. HTML 태그를 사용하여 텍스트를 굵게 표시하도록 지정했습니다.
btn = QPushButton('Button', self)
btn.setToolTip('This is a <b>QPushButton</b> widget')
btn.resize(btn.sizeHint())
btn.move(50, 50)
QPushButton을 생성하고, 버튼에 대한 툴팁을 설정합니다. 그리고 버튼의 위치와 크기를 설정합니다.
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Tooltips')
self.show()
윈도우의 크기와 제목을 설정하고, 화면에 표시합니다.
메인 루프를 실행합니다.
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
QApplication 객체를 생성하여 애플리케이션을 초기화하고, Example 클래스의 인스턴스를 생성합니다. 마지막으로, QApplication의 exec_() 메서드를 호출하여 메인 루프를 실행합니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip
from PyQt5.QtGui import QFont
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 툴팁에 사용될 기본 폰트 설정
QToolTip.setFont(QFont('SansSerif', 10))
# QWidget에 대한 툴팁 설정
self.setToolTip('This is a <b>QWidget</b> widget')
# 버튼 생성
btn = QPushButton('Button', self)
# 버튼에 대한 툴팁 설정
btn.setToolTip('This is a <b>QPushButton</b> widget')
# 버튼의 크기를 텍스트에 맞게 조절
btn.resize(btn.sizeHint())
# 버튼 위치 설정
btn.move(50, 50)
# 윈도우의 크기와 제목 설정
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Tooltips')
# 윈도우 표시
self.show()
if __name__ == '__main__':
# QApplication 인스턴스 생성
app = QApplication(sys.argv)
# Example 클래스의 인스턴스 생성
ex = Example()
# 애플리케이션 실행 및 메인 루프 시작
sys.exit(app.exec_())
728x90
반응형