일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드
- 파이썬GUI
- pandas
- 비주얼베이직
- 오피스
- 윈도우10
- Outlook
- office
- matlab
- VBA
- Android
- python
- 깃
- pythongui
- Windows10
- 파워포인트
- 엑셀
- 문자열
- 윈도우11
- git
- html
- win32com
- 아웃룩
- windows
- 파이썬
- Excel
- python3
- Windows11
- 파이썬3
- pyqt5
Appia의 IT세상
파이썬[Python GUI, PyQt5 Tutorial 025] 다이얼 (QDial)만들기 본문
파이썬[Python GUI, PyQt5 Tutorial 025] 다이얼 (QDial)만들기
Appia 2020. 8. 1. 07:44파이썬[Python GUI, PyQt5 Tutorial 025] 다이얼 (QDial)만들기
앞서 포스팅에서는 슬라이드바(QSlider)를 통해서 수치 값등을 조절할 수 있는 GUI 위젯에 대해서 살펴봤습니다. 이번에는 온도 조절계에서등과 같은 곳에서 많이 사용하는 다이얼(QDial)에 대해서 살펴보고자 합니다. 흔히들 다음과 같은 부분을 다이얼(QDial)이라고 합니다.
위와 같은 부분을 작성하는 코드를 작성해보도록 하겠습니다.
import sys from PyQt5.QtWidgets import QApplication, QWidget, QDial, QLabel, QPushButton class MyApp(QWidget): def __init__(self): super().__init__() self.dial = QDial(self) self.dial.move(30, 50) self.dial.setRange(0, 50) self.label = QLabel('0',self) self.label.move(200,100) btn = QPushButton('Default', self) btn.move(35, 160) self.dial.valueChanged[int].connect(self.chagne_Value) btn.clicked.connect(self.button_clicked) self.setWindowTitle('QDial') self.setGeometry(300, 300, 400, 200) self.show() def button_clicked(self): self.dial.setValue(0) def chagne_Value(self,value): print(value) self.label.setText(str(value)) self.label.adjustSize() self.label.repaint() if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) | cs |
위의 코드를 실행하시면 위에 첨부한 그림과 같은 GUI가 나타납니다. 여기에서 원형의 부분을 돌려서 값을 변경하면, 현재의 값이 우측에 라벨에 표시되는 형태입니다.
그럼 간단히 살펴보겠습니다.
self.dial = QDial(self) self.dial.move(30, 50) self.dial.setRange(0, 50) | cs |
먼저, QDial 부분을 바탕으로 GUI를 생성해줍니다. 그리고, 위치를 정한 후, setRange(시작, 끝)을 통해서 시작과 끝 값을 지정해줍니다.
그리고 값이 변경될 때, 즉 원형의 다이얼을 돌릴 때, 이벤트 연결을 통해서 라벨에 현재의 값이 표현되도록 해줍니다.
def chagne_Value(self,value): print(value) self.label.setText(str(value)) self.label.adjustSize() self.label.repaint() | cs |
위의 부분과 같이 다음과 같은 이벤트를 통해서 연결이 가능합니다.
valueChanged | 다이얼의 값이 변경시 |
sliderPressed | 다이얼을 클릭하여 누르기 시작할때 |
sliderMoved | 다이얼의 움직임 발생시 |
sliderReleased | 다이얼을 클릭한 부분이 해제 될때 |
기본적으로는 앞서서 봤던 슬라이더바와 동일합니다.
이번 포스팅은 파이썬[Python GUI, PyQt5 Tutorial 025] 다이얼 (QDial)만들기라는 주제로 간단히 다이얼(QDial)을 만들어봤습니다. 혹시 궁금하신 점이나 문의 사항 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.
파이썬[Python GUI, PyQt5 Tutorial 024] 슬라이드바 (QSlider)만들기
위의 링크의 이전 포스팅과 함꼐 살펴보시는 것도 좋을 것이라고 생각이 듭니다. 감사합니다.
'Python > Python PyQt5 (GUI)' 카테고리의 다른 글
파이썬[Python GUI, PyQt5 Tutorial 027] Application의 아이콘(Icon) 설정하기 (0) | 2020.08.18 |
---|---|
파이썬[Python GUI, PyQt5 Tutorial 026] GUI 객체 설명, 글풍선, 툴팁(QToolTip) 달기 (0) | 2020.08.15 |
파이썬[Python GUI, PyQt5 Tutorial 024] 슬라이드바 (QSlider)만들기 (0) | 2020.07.30 |
파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기 (1) | 2020.07.28 |
파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기 (0) | 2020.07.26 |