본문 바로가기

PyQt5_47

Events 10. Events 사용자가 Qt 응용 프로그램과 갖는 모든 상호 작용은 이벤트입니다. 여러 유형의 이벤트가 있으며 각 이벤트는 서로 다른 유형의 상호 작용을 나타냅니다. Qt는 일어난 일에 대한 정보를 패키지화하는 이벤트 객체를 사용하여 이러한 이벤트를 나타냅니다. 이러한 이벤트는 상호 작용이 발생한 위젯의 특정 이벤트 처리기로 전달됩니다. 사용자 지정 이벤트 처리기를 정의하면 위젯이 이러한 이벤트에 응답하는 방식을 변경할 수 있습니다. 이벤트 처리기는 다른 메서드와 마찬가지로 정의되지만 이름은 처리하는 이벤트 유형에 따라 다릅니다. 위젯이 수신하는 주요 이벤트 중 하나는 QMouseEvent 입니다. QMouseEvent 이벤트는 위젯의 모든 마우스 움직임과 버튼 클릭에 대해 생성됩니다. 다음 이벤트.. 2023. 3. 13.
Windows 2023. 3. 13.
Windows Creating a new window basic/windows_1.py import sys from PyQt6.QtWidgets import ( QApplication, QLabel, QMainWindow, QPushButton, QVBoxLayout, QWidget, ) class AnotherWindow(QWidget): """ This "window" is a QWidget. If it has no parent, it will appear as a free-floating window. """ def __init__(self): super().__init__() layout = QVBoxLayout() self.label = QLabel("Another Window") layout.addWidge.. 2023. 3. 13.
Dialogs basic/dialogs_start.py import sys from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("My App") button = QPushButton("Press me for a dialog!") button.clicked.connect(self.button_clicked) self.setCentralWidget(button) def button_clicked(self, s): print("click", s) app = QApplication(sys.argv) .. 2023. 3. 13.
Actions, Toolbars & Menus Toolbars Qt 도구 모음은 아이콘, 텍스트 표시를 지원하며 표준 Qt 위젯을 포함 할 수도 있습니다. 그러나 버튼의 경우 가장 좋은 방법은 QAction 시스템을 사용하여 도구 모음에 버튼을 배치하는 것입니다. Qt에서 도구 모음은 QToolBar 클래스에서 생성됩니다. 시작하려면 클래스의 인스턴스를 만든 다음 QMainWindow에서 .addToolbar 를 호출하십시오. 문자열을 QToolBar 에 첫 번째 매개 변수로 전달하면 UI에서 도구 모음을 식별하는 데 사용되는 도구 모음의 이름이 설정됩니다. import sys from PyQt6.QtCore import Qt from PyQt6.QtWidgets import ( QApplication, QLabel, QMainWindow, QToo.. 2023. 3. 13.
Layouts Layout Behavior QHBoxLayout Linear horizontal layout QVBoxLayout Linear vertical layout QGridLayout In indexable grid XxY QStackedLayout Stacked (z) in front of one another QVBoxLayout, QHBoxLayout 및 QGridLayout. 또한 QStackedLayout 사용하면 동일한 공간 내에서 위젯을 다른 위젯 위에 배치 할 수 있지만 한 번에 하나의 위젯 만 표시 할 수 있습니다. Placeholder widget 레이아웃을 더 쉽게 시각화할 수 있도록 먼저 선택한 단색을 표시하는 간단한 사용자 지정 위젯을 만듭니다. 이렇게하면 레이아웃에 추가하는 위젯을 구.. 2023. 3. 11.
Widgets import sys from PyQt6.QtCore import Qt from PyQt6.QtWidgets import QVBoxLayout # from PyQt6.QtWidgets import QWidget # from PyQt6.QtWidgets import ( QApplication, QCheckBox, QComboBox, QDateEdit, QDateTimeEdit, QDial, QDoubleSpinBox, QFontComboBox, QLabel, QLCDNumber, QLineEdit, QMainWindow, QProgressBar, QPushButton, QRadioButton, QSlider, QSpinBox, QTimeEdit, ) # Subclass QMainWindow to custom.. 2023. 3. 10.
Signals & Slots GUI 응용 프로그램을 만들 때 일반적으로 무언가를하기를 원합니다! 우리에게 필요한 것은 버튼을 누르는 동작을 무언가가 일어나게 하는 것과 연결하는 방법입니다. Qt에서 이것은 신호(signal)와 슬롯(slot)에 의해 제공됩니다. Signal 신호는 어떤 일이 발생할 때 위젯에서 방출(emit)되는 신호입니다. 버튼을 누르는 것부터 입력 상자의 텍스트가 변경되고 창의 텍스트가 변경되는 것까지 다양한 것이 될 수 있습니다. 많은 신호가 사용자 작업에 의해 시작되지만 이는 규칙이 아닙니다. 신호는 어떤 일이 일어나고 있는지 알리는 것 외에도 데이터를 보내 일어난 일에 대한 추가 컨텍스트를 제공할 수도 있습니다. Slot 슬롯은 Qt가 신호 receiver에 사용하는 이름입니다. 파이썬에서는 어플리케이션의.. 2023. 3. 10.
Sizing windows and widgets import sys from PyQt6.QtCore import QSize, Qt from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton # Subclass QMainWindow to customize your application's main window class MainWindow (QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("My App") button = QPushButton("Press Me!") self.setFixedSize(QSize( 400 , 300 )) # Set the central widget of the Window. self... 2023. 3. 10.