본문 바로가기
파이썬 (Python)/파이썬 공통

[Python/Houdini] 후디니 PyQt 활용 기초 : Qt창 띄우기 3/3 (완)

by Minkyu Lee 2026. 1. 23.

결과

 

방법

코드 내용

import sys
from PySide2 import QtWidgets


def is_houdini():
    # 메모리에 hou 패키지가 존재하는지에 따라 후디니 환경인지 구분
    return "hou" in sys.modules


def run_viewer():
    if is_houdini():
        import hou

        parent = hou.qt.mainWindow()  # 후디니의 QApplication을 받아옴
        viewer = HipLibraryViewer(parent)
        viewer.show()

    else:
        app = QtWidgets.QApplication(sys.argv)
        viewer = HipLibraryViewer()
        viewer.show()
        sys.exit(app.exec_())


# QMainWindow 기능을 상속해서 사용 (아무것도 없이 만들기 힘드니까)
class HipLibraryViewer(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        # 부모의 유산 물려받기 (부모의 초기화를 한번 실행시켜줌)
        super().__init__(parent)

        # 창 기본 설정
        self.setWindowTitle("Houdini HIP Library Viewer")
        self.window_width = 1920
        self.window_height = 1080

        screen_geometry = QtWidgets.QApplication.desktop().screenGeometry()
        center_x = (screen_geometry.width() - self.window_width) // 2  # 정수 나눗셈
        center_y = (screen_geometry.height() - self.window_height) // 2

        self.setGeometry(center_x, center_y, self.window_width, self.window_height)
        self.setMinimumSize(800, 600)  # 최소크기 강제


if __name__ == "__main__":
    # 현재 .py가 모듈 임포트가 아니라 시작점이라면 작동
    run_viewer()

 

댓글