1. QSlider : 수평 또는 수직 방향의 값을 조절하는 위젯 

 

 

 2. 메서드의 입력값과 기능

 

- QSlider.NoTicks             0                 틱을 표시하지 않는다.

- QSlider.TicksAbove         1                 틱을 (수평) 슬라이더 위쪽에 표시한다.

- QSlider.TicksBelow         2                 틱을 (수평) 슬라이더 아래쪽에 표시한다.

- QSlider.TicksBothSides    3                 틱을 (수평) 슬라이더 양쪽에 표시한다.

- QSlider.TicksLeft            TicksAbove    틱을 (수직) 슬라이더 왼쪽에 표시한다.

- QSlider.TicksRight          TicksBelow     틱을 (수직) 슬라이더 오른쪽에 표시한다.

 

 

 3. QDial : 슬라이더를 둥근 형태로 표현한 다이얼 위젯이다.

 

 

 4. QSlider과 QDial의 메서드

- valueChanged()    슬라이더의 값이 변할 때 발생한다.

- sliderPressed()    사용자가 슬라이더를 움직이기 시작할 때 발생한다.

- sliderMoved()    사용자가 슬라이더를 움직이면 발생한다.

- sliderReleased()    사용자가 슬라이더를 놓을 때 발생한다.

 

 

 5. 예제

  • import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QDial, QPushButton
    from PyQt5.QtCore import Qt


    class MyApp(QWidget):

        def __init__(self):
            super().__init__()
            self.initUI()

        def initUI(self):
            self.slider = QSlider(Qt.Horizontal, self) # QSlider 위젯 생성
            self.slider.move(30, 30)
            self.slider.setRange(0, 50) # 값의 범위 설정 0~50
            self.slider.setSingleStep(2) # 조절 가능한 최소 단위 설정

            self.dial = QDial(self) # QDial 위젯 생성
            self.dial.move(30, 50)
            self.dial.setRange(0, 50)

            btn = QPushButton('Default', self)
            btn.move(35, 160)


            # 두 위젯의 값을 연결하여 서로 언제나 일치하도록 설정
            self.dial.valueChanged.connect(self.slider.setValue)

            btn.clicked.connect(self.button_clicked)  # 버튼 클릭 시 초기화되는 메서드와 연결

            self.setWindowTitle('QSlider and QDial')
            self.setGeometry(300, 300, 400, 200)
            self.show()

        def button_clicked(self):
            self.slider.setValue(0)
            self.dial.setValue(0)


    if __name__ == '__main__':
        app = QApplication(sys.argv)
        ex = MyApp()
        sys.exit(app.exec_())

 

 

 

 6. 결과

'Embedded linux > QT, QML' 카테고리의 다른 글

[QT] QString 프린트 방법  (1) 2024.05.03
[PyQt5] QGroupBox  (1) 2023.11.02
[PyQt5] QlineEdit  (0) 2023.11.02
[PyQt5] QRadioButton  (0) 2023.11.02
[PyQt5] QCheckBox  (0) 2023.11.02

+ Recent posts