QLabel
이것은 애플리케이션에 배치할 수 있는 간단한 한 줄짜리 텍스트이다. 텍스트를 만들 때 str을 전달하여 텍스트를 설정할 수 있다.
widget = QLabel("Hello")
또는 .setText() 방법을 사용
widget = QLabel("1") # The label is created with the text 1.
widget.setText("2") # The label now shows 2.
위젯의 글꼴 크기 또는 텍스트 정렬과 같은 글꼴 매개변수를 조정할 수도 있다.
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle("My App")
widget = QLabel("Hello")
font = widget.font()
font.setPointSize(30)
widget.setFont(font)
widget.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
self.setCentralWidget(widget)
정렬은 Qt 네임스페이스의 플래그를 사용하여 지정된다. 수평 정렬에 사용할 수 있는 플래그는 다음과 같다.
수직 정렬에 사용할 수 있는 플래그는 다음과 같다.
마지막으로, 동시에 양쪽 방향을 중심으로 하는 속기 플래그도 있다.
QLabel를 사용하여 이미지를 표시 할 수도 있다. 이것은 이미지 파일 이름을 setPixmap()에 전달하여 생성할 수 있는 픽스맵 QPixmap을 허용한다.
widget.setPixmap(QPixmap('otje.jpg'))
기본적으로 이미지는 가로 세로 비율을 유지하면서 크기가 조정된다. 창에 완전히 맞도록 늘이고 크기를 조정하려면 .setScaledContents(True)의 QLabel에서 설정할 수 있다.
QCheckBox
QCheckBox()은 이름에서 알 수 있듯이 사용자에게 선택 가능한 상자를 표시하는 것이다. 그러나 모든 Qt 위젯과 마찬가지로 위젯 동작을 변경하는 구성 가능한 옵션이 많이 있다.
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle("My App")
widget = QCheckBox()
widget.setCheckState(Qt.Checked)
# For tristate: widget.setCheckState(Qt.PartiallyChecked)
# Or: widget.setTriState(True)
widget.stateChanged.connect(self.show_state)
self.setCentralWidget(widget)
def show_state(self, s):
print(s == Qt.Checked)
print(s)
setChecked 또는 setCheckState를 사용하여 프로그래밍 방식으로 확인란 상태를 설정할 수 있다. 전자는 각각 선택되거나 선택되지 않은 것을 허용 True하거나 False 나타낸다. 그러나 Qt 네임스페이스 플래그 setCheckState를 사용하여 특정 확인 상태도 지정한다.
부분적으로 체크된 (Qt.PartiallyChecked) 상태를 지원하는 체크박스를 일반적으로 '삼중 상태'라고 하며, 이는 켜져 있지도 않고 꺼져 있지도 않다. 이 상태의 체크박스는 일반적으로 회색 체크박스로 표시되며 하위 항목이 상위 체크박스에 연결된 계층적 체크박스 배열에서 일반적으로 사용된다.
값을 Qt.PartiallyChecked 체크박스로 설정하면 3상태가 된다. setTriState(True)을 사용하여 현재 상태를 부분적으로 선택하도록 설정하지 않고 확인란을 삼중 상태로 설정할 수도 있다.
스크립트가 실행 중일 때 현재 상태 번호가 intwith checked = 2, unchecked = 0및 partial checked = 1로 표시되는 것을 알 수 있다. Qt.Checked 네임스페이스 변수가 ==2와 같은 값을 기억할 필요가 없다. 이것은 이러한 상태의 각 플래그 값이다. 이것은 state == Qt.Checked를 사용하여 상태를 테스트할 수 있음을 의미한다.
'Python Library > PySide' 카테고리의 다른 글
[PySide] 위젯 (QLineEdit, QSpinBox, QDoubleSpinBox) (4) (0) | 2022.06.13 |
---|---|
[PySide] 위젯 (QComboBox, QListWidget) (3) (0) | 2022.06.13 |
[PySide] 위젯 (1) (0) | 2022.06.13 |
[PySide] Context menus (0) | 2022.06.13 |
[PySide] 이벤트 (0) | 2022.06.13 |