PySide6에서 빈 공간 없이 애플리케이션의 크기를 알맞게 조정하려면 다음 방법을 사용해야 합니다.
해결 방법
- adjustSize() → 위젯의 크기를 내부 컨텐츠에 맞게 자동 조정
- setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) → 크기 조정을 방지하여 알맞은 사이즈 유지
- layout.setSizeConstraint(QLayout.SetFixedSize) → 레이아웃 크기를 컨텐츠 크기에 맞게 자동으로 설정
최적화된 코드
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QSpacerItem, QSizePolicy
import sys
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 레이아웃 생성
self.layout = QVBoxLayout(self)
# 버튼 추가
self.layout.addWidget(QPushButton("Button 1"))
self.layout.addWidget(QPushButton("Button 2"))
# 👉 빈 공간 없이 크기 조정
self.layout.setSizeConstraint(QLayout.SetFixedSize) # 레이아웃 크기를 내부 컨텐츠에 맞춤
self.adjustSize() # 자동 크기 조정
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
핵심 코드 설명
- self.layout.setSizeConstraint(QLayout.SetFixedSize)
- 레이아웃의 크기를 내부 위젯 크기에 맞게 자동 조정합니다.
- 이를 설정하지 않으면 레이아웃이 여유 공간을 차지할 수도 있음.
- self.adjustSize()
- 현재 포함된 위젯의 크기에 맞게 전체 윈도우 크기를 자동으로 조정합니다.
최적화된 창 크기 유지
위 코드를 실행하면 불필요한 빈 공간 없이 내부 위젯 크기에 맞게 정확한 크기로 조정됩니다.
이제 창 크기가 알맞게 자동 조정되며, 여백 없이 딱 맞게 표시됩니다! 🚀
'PySide or PyQt' 카테고리의 다른 글
QSizePolicy (0) | 2025.02.20 |
---|---|
QFileDialog.getOpenFileName()을 사용해서 디렉터리만 선택해 그 경로를 가져오는 코드 (0) | 2025.02.20 |
QDialog, QMain Window, QWidget에 대해서 (0) | 2025.01.15 |
위젯 생성할 때 self를 파라미터에 왜 넣을까? (0) | 2025.01.15 |