반응형 <개인공부> - IT/[Python]39 Day 8. PyQt5 (Actions, Toolbars, Menus) Toolbar 툴바는 일반적으로 User Interface에서 볼 수 있는 요소이다. 툴바는 계층적으로 원하는 메뉴를 찾아서 접근하는 방식 대신에 아이콘 클릭 한 번으로 빠르게 접근가능하도록 만든다. import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import ( QApplication, QMainWindow, QToolBar, QLabel, QAction ) class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("My App") label = QLabel("hello") label.setAlignment(Qt.AlignCenter) sel.. 2021. 3. 20. Day 7. PyQt5 (Layouts) 앞서 정리한 포스트들은 통해서 어떠한 위젯이 있는지 간단하게 알아보았다. 하지만 단일 위젯은 사용에 제한적이고 더불어 미적으로도 Layout 없이 사용하는 것은 예쁘지 않다. QHBoxLayout, QVBoxLayout, QGridLayout, QStackedLayout 이렇게 4가지 Layout을 사용할 수 있다. 이름에서 보는 것처럼 수평으로 위젯을 구성하는 Layout이면 QHBoxLayout을 사용하고 반대로 수직으로 구성한다면 QVBoxLayout을 사용할 수 있다. QGridLayout은 행렬과 같이 행과 열이 있는 Layout을 떠오르면 쉽고 QStackedLayout은 동일 화면에 여러 위젯이 쌓여있는 형태로 보면 된다. 자세한 내용은 예제 코드로 함께 정리해보고자 한다. 물론 각 Layo.. 2021. 3. 19. Day 6. PyQt5 (QSpinBox, QSlider, QDial) QSpinBox와 QDoubleSpinBox는 숫자를 입력할 수 있는 input box와 함께 증가, 감소를 적용할 수 있는 화살표가 존재하는 위젯이다. 두 가지는 동일한 기능을 하며 정수형 value를 사용하게 되면 QSpinBox를 실수형은 QDoubleSpinBox를 사용하면 된다. import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QMainWindow, QSpinBox class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("My App") widget = QSpinBox() # Or: widget .. 2021. 3. 18. Day 5. PyQt5 (QListWidget, QLineEdit) 책에서는 QListWidget을 QComboBox와 비교하고 있다. 저자의 설명은 QComboBox와 유사한 위젯이며 차이가 있다면 스크롤이 가능하다는 점과 다중선택을 예로 들고있다. 뭐든지 연관성을 갖고 접근하면 재미있기 마련인데 저자의 해당 부분 설명은 나름 인상깊었다. QComboBox에서도 선택된 아이템이 변경되면 발생하는 signal과 유사한 signal이 발생된다. item이 바뀌면 currentItemChangedf라는 signal을 통해 QListItem을 보낸다. 또 현재 아이템의 text과 바뀌면 currentTextChanged signal을 통해서 현재의 text 값을 보낸다. 코드를 봐보도로 하자. import sys from PyQt5.QtWidgets import QApplic.. 2021. 3. 10. 이전 1 2 3 4 5 ··· 10 다음 반응형