본문 바로가기

프로그래밍/PyQt5 GUI

(69)
29. QDoubleSpinBox QDoubleSpinBox 클래스는 실수를 선택, 조절하도록 하는 위젯입니다. (QDoubleSpinBox 공식 문서) 참고 29-1 예제: ex28 import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QDoubleSpinBox, QVBoxLayout class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.lbl1 = QLabel('QDoubleSpinBox') self.dspinbox = QDoubleSpinBox() self.dspinbox.setRange(0, 100) self.dspinbox.setSingl..
28. QSpinBox QSpinBox 클래스는 정수를 선택, 조절하도록 하는 위젯입니다. (QSpinBox 공식 문서) 참고 28-1 예제: ex27 import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QSpinBox, QVBoxLayout class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.lbl1 = QLabel('QSplinBox') self.spinbox = QSpinBox() self.spinbox.setMinimum(-10) self.spinbox.setMaximum(30) # self.spinbox.setRange(-1..
27. QClendarWidget QCalendarWidget을 이용해서 달력을 표시할 수 있으며, 달력은 월 단위로 표시되고, 처음 실행될 때 현재의 년,월,일로 선택되어 있습니다. (QCalendarWidget 공식 문서) 참고 27-1 예제: ex26 import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QCalendarWidget from PyQt5.QtCore import QDate, Qt class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): cal = QCalendarWidget(self) cal.setGridVisible..
26. QPixmap QPixmap은 이미지를 다룰 때 사용되는 위젯입니다. (QPixmap 공식 문서) 참고 지원하는 파일 형식은 아래와 같습니다. 어떤 이미지 형식은 '읽기'만 가능합니다. 26-1 예제: ex25 import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout from PyQt5.QtGui import QPixmap from PyQt5.QtCore import Qt class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): pixmap = QPixmap('landscape.jpg') lbl_img = QLabel() ..
25. QTabWidget 25-1 예제: ex24 import sys from PyQt5.QtWidgets import QApplication, QWidget, QTabWidget, QVBoxLayout class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): tab1 = QWidget() tab2 = QWidget() tabs = QTabWidget() tabs.addTab(tab1, 'Tab1') tabs.addTab(tab2, 'Tab2') vbox = QVBoxLayout() vbox.addWidget(tabs) self.setLayout(vbox) self.setWindowTitle('QTabWidget') se..
24. QGroupBox QGroupBox는 상단 타이틀과 단축키(shortcut)를 제공하며, 그 안에 다양한 위젯을 나타낼 수 있습니다. (QGroupBox 공식 문서) 참고 QGroupBox 클래스는 제목과 제목의 정렬을 설정하도록 해줍니다. 그룹 박스는 체크 가능하도록 설정할 수 있는데, 그룹 박스의 체크 여부에 따라 그 그룹 박스 안에 있는 위젯들이 사용 여부가 결정됩니다. 공간을 절약하기 위해 flat 속성을 활성화할 수 있는데, 보통 프레임의 왼쪽, 오른쪽, 아래쪽 가장자리가 없게 됩니다. 24-1 예제: ex23 import sys from PyQt5.QtWidgets import (QApplication, QWidget, QGroupBox, QRadioButton, QCheckBox, QPushButton, QM..
23. QSplitter QSplitter 위젯은 경계를 드래그해서 자식 위젯의 크기를 조절할 수 있도록 합니다. 23-1 예제: ex22 import sys from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, QFrame, QSplitter) from PyQt5.QtCore import Qt class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): hbox = QHBoxLayout() top = QFrame() top.setFrameShape(QFrame.Box) midleft = QFrame() midleft.setFrameShape(QFrame.Styl..
22. QSlider & QDial QSlider는 수평 또는 수직 방향의 슬라이더를 제공합니다. 슬라이더는 제한된 범위 안에서 값을 조정하는 위젯입니다. (QSlider 공식 문서) 참고 슬라이더의 틱(tick)의 간격을 조절하기 위해서는 setTickInterval() 메서드, 틱(tick)의 위치를 조절하기 위해서는 setTickPosition() 메서드를 사용합니다. setTickInterval() 메서드의 입력값은 픽셀이 아니라 값을 의미합니다. setTickPosition() 메서드의 입력값과 기능은 아래의 표와 같습니다. (예: setTickPosition(QSlider.NoTicks) 또는 setTickPosition(0)) 상수 값 설명 QSlider.NoTicks 0 틱을 표시하지 않습니다. QSlider.TicksAbs..