[파이썬] PyQt `QDockWidget`을 사용한 도킹

PyQt는 파이썬에서 사용할 수 있는 강력한 GUI 프레임워크입니다. QDockWidget은 PyQt에서 제공하는 실용적인 위젯 중 하나로, 사용자 인터페이스를 구성하는데 도움을 줍니다. 이 블로그 포스트에서는 PyQt QDockWidget을 사용하여 도킹하는 방법을 살펴보겠습니다.

QDockWidget 클래스

QDockWidget은 PyQt에서 제공하는 위젯 중 하나로, 말 그대로 도킹 가능한 위젯입니다. 이를 통해 사용자 인터페이스의 다양한 요소를 유연하게 배치하고 관리할 수 있습니다. 일반적으로 주 창 (QMainWindow) 안에 도킹 위젯들을 배치하여 사용합니다.

예제

다음은 PyQt QDockWidget을 사용하여 도킹을 구현하는 간단한 예제 코드입니다.

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QTextEdit, QLabel

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        dock_widget = QDockWidget("Dockable Widget", self)

        # 도킹 위젯으로 사용할 위젯 생성
        text_edit = QTextEdit()
        label = QLabel("Docked Label")

        # 도킹 위젯에 위젯 설정
        dock_widget.setWidget(text_edit)

        # 메인 창에 도킹 위젯 추가
        self.addDockWidget(Qt.LeftDockWidgetArea, dock_widget)

        # 추가로 도킹 위젯을 만들고 다른 위치에 추가할 수도 있습니다.
        dock_widget2 = QDockWidget("Another Dockable Widget", self)
        dock_widget2.setWidget(label)
        self.addDockWidget(Qt.RightDockWidgetArea, dock_widget2)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec_())

위 코드에서는 MainWindow 클래스를 정의하고, QDockWidget을 사용하여 도킹 가능한 위젯들을 생성하고 배치하는 방법을 보여줍니다. QTextEdit 위젯은 도킹 위젯으로 사용되고, QLabel 위젯은 다른 위치에 추가된 도킹 위젯으로 사용됩니다.

이 예제 코드를 실행하면, PyQt로 작성된 GUI 애플리케이션에서 도킹 가능한 위젯을 사용할 수 있습니다.

마무리

PyQt QDockWidget을 사용하여 도킹을 구현하는 방법에 대해 알아보았습니다. QDockWidget은 사용자 인터페이스를 구성하는데 매우 유용한 위젯이며, PyQt를 사용하여 더 유연하고 사용자 친화적인 애플리케이션을 개발할 수 있습니다. 다양한 위젯들을 도킹하여 창 내에서 각각의 영역을 구분하고 관리할 수 있습니다. PyQt에 익숙해질수록 다양한 위젯과 기능을 활용하여 효과적인 사용자 경험을 구현할 수 있습니다. Happy coding!