2013-07-31 2 views
0

레이아웃을 사용하는 Qt 디자이너에서 만든 여러 개의 QDialogs이 있으므로 대화 상자의 크기가 자식의 크기에 따라 올바르게 조정될 수 있습니다. 자식의 크기는 런타임에 따라 다릅니다 (가변 텍스트 필드, 시스템 글꼴 크기 등).레이아웃을 사용하지만 고정 크기 (크기 그립 없음)의 다이얼로그

내 대화 상자가 사용자 크기 조정이 가능하지 않으므로 크기 그립을 비활성화하고 싶습니다. 내가 알 수있는 한, setFixedSize()을 호출하여 크기 그립을 사용할 수 없습니다. 그러나, 나는 여기에 픽셀 크기에 넣어 수 없습니다, 그래서 나는과 같이 resizeEvent()을 구현 한 :

void cRemoteConnectionDialog::resizeEvent(QResizeEvent *) 
{ 
    setFixedSize(minimumSize()); 
} 

이 Windows에서 잘 작동하지만 대화는 맥 OS X의에 작은에 훨씬

어떻게입니다 내가 크기를 조정할 수있는 프로그램을 달성하지만 사용자가 크기를 조정할 수없는 QDialog은 런타임 상태에 따라 필요한 최소 공간을 차지합니까?

답변

1

은 대화에서이 같은 시도 :

this->layout()->setSizeConstraint(QLayout::SetFixedSize);