프로그래밍/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
반응형