본문 바로가기

PySide or PyQt5

빈 공간 없이 애플리케이션의 크기를 알맞게 조정 PySide6에서 빈 공간 없이 애플리케이션의 크기를 알맞게 조정하려면 다음 방법을 사용해야 합니다.해결 방법adjustSize() → 위젯의 크기를 내부 컨텐츠에 맞게 자동 조정setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) → 크기 조정을 방지하여 알맞은 사이즈 유지layout.setSizeConstraint(QLayout.SetFixedSize) → 레이아웃 크기를 컨텐츠 크기에 맞게 자동으로 설정최적화된 코드from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QSpacerItem, QSizePolicyimport sysclass MainWindow(QWidget):.. 2025. 2. 20.
QSizePolicy setSizePolicy() 사용 방법setSizePolicy()는 QWidget의 크기 조정 정책을 설정하는 함수로, 위젯이 레이아웃 내에서 어떻게 크기가 조정될지 결정하는 역할을 합니다.QSizePolicy 매개변수 설명setSizePolicy(QSizePolicy.HorizontalPolicy, QSizePolicy.VerticalPolicy)가로 크기 조정 정책 (HorizontalPolicy)세로 크기 조정 정책 (VerticalPolicy)위 두 개의 인수를 설정하여 위젯이 크기에 대해 어떤 정책을 따를지 결정할 수 있습니다.QSizePolicy의 주요 옵션옵션값설명QSizePolicy.Fixed고정 크기, 크기 조정 불가QSizePolicy.Minimum최소 크기 유지, 크기 확장 불가QSi.. 2025. 2. 20.
QFileDialog.getOpenFileName()을 사용해서 디렉터리만 선택해 그 경로를 가져오는 코드 QFileDialog.getOpenFileName()은 파일을 선택하는 다이얼로그이므로, 디렉터리만 선택하려면 QFileDialog.getExistingDirectory()를 사용하는 것이 일반적입니다. 하지만 QFileDialog.getOpenFileName()을 사용하면서 디렉터리만 선택하는 방법을 원한다면, 특정 옵션을 조정하여 가능하게 만들 수 있습니다.방법 1: QFileDialog.getExistingDirectory() 사용 (권장)from PySide6.QtWidgets import QApplication, QFileDialogimport sysapp = QApplication(sys.argv)directory = QFileDialog.getExistingDirectory(None, "Se.. 2025. 2. 20.
QDialog, QMain Window, QWidget에 대해서 QDialog (대화 상자)정의: QDialog는 대화 상자를 나타내며, 주로 사용자와의 단순한 상호작용을 위해 사용됩니다.주요 특징:모달 모드: QDialog는 모달(modal)로 설정 가능하며, 모달 대화 상자는 열려 있는 동안 부모 창과의 상호작용을 차단합니다.exec_()를 사용하면 모달 대화 상자를 표시합니다.경량 구조: 복잡한 레이아웃이나 툴바, 상태바 등이 없는 간단한 창입니다.용도: 경고창, 설정창, 파일 선택창 등.예시:from PyQt5.QtWidgets import QDialog, QVBoxLayout, QLabel, QPushButton, QApplicationimport sysclass MyDialog(QDialog): def __init__(self): supe.. 2025. 1. 15.
위젯 생성할 때 self를 파라미터에 왜 넣을까? Qt의 객체 계층 구조self는 부모-자식 관계에서 부모 객체를 나타냅니다. PyQt의 모든 위젯은 QObject에서 상속되며, 부모 객체가 자식 객체의 메모리를 관리합니다. 따라서 부모 객체(self)를 명시하면 자식 위젯은 부모가 소멸될 때 함께 소멸되어 메모리 누수를 방지합니다.부모-자식 관계를 설정하면 자식 위젯이 부모 위젯 내부에 그려지며 부모 위젯의 경계를 벗어나지 않습니다.self의 사용 목적self.name_entry = QLineEdit(self)와 같이 self를 사용하면 클래스의 속성으로 설정되어 클래스 내 다른 메서드에서 접근할 수 있습니다. 반면, name_entry = QLineEdit(self)와 같이 사용하면 해당 메서드 내에서만 접근 가능합니다.self를 통해 설정된 위젯은.. 2025. 1. 15.