2011-03-22 6 views
1

분명히 여기에 뭔가가 빠져 있습니다. 제발 저를 계몽하십시오. 이는 동적 레이아웃에 의해 결정되는대로QBoxLayout 최대 크기를 설정 하시겠습니까?

+0

여기에 약간의 설명을하기 위해 기본 QVBoxLayout을 가지고 있는데, 다른 QVBoxLayout을 addLayout'ed했습니다. 내부 QVBoxLayout의 최대 너비를 설정하려고합니다. – Thev00d00

답변

2

AFAIK 레이아웃의 최대 크기를 설정할 수 없습니다. 왜 당신이 원하는지 - 나에게 의미가 없습니다 (어떤 어린이 위젯은 레이아웃이 제한되어 있어야합니까?)

setMaximumSize에 대해서는 레이아웃과 같은 방법이 없습니다. 그러나 사용자가 설정할 수있는 QLayout::SetMaximumSize 제약 조건이 있지만이 제약 조건은 레이아웃 자체가 아니라이 레이아웃으로 배치 된 위젯에 적용됩니다. 이는 위젯이 레이아웃의 최대 크기보다 커질 수 없음을 의미하므로 필요한 것과는 완전히 다릅니다.

실제 목표를 다시 생각해보십시오. 아마도 다른 방법으로 달성 할 수 있습니다. 예를 들어 QBoxLayout에 의해 배치 된 개별 위젯의 최대 크기를 설정할 수 있습니다.

+0

맞아요, 내가 잘못 접근했습니다. 관련 위젯의 최대 너비를 설정 한 다음 필요에 따라 다른 콘텐츠를 확장하십시오. 감사합니다! – Thev00d00

0

당신은 직접 maximumSize 속성을 설정할 수 없습니다 일을

AttributeError: 'QVBoxLayout' object has no attribute 'setMaximumSize' 

나는 잠시 동안 Qt는 문서를 읽어 봤는데하지만 단지 캔트 얻을 수있을 것으로 보인다. 아마도 QLayout.SizeConstraint을 QLayout.SetMaximumSize로 설정하려고했을 것입니다. 그렇다면 QLayout.setSizeConstraint 방법을 참조하십시오. 그렇지 않으면 특정 위젯의 정확한 최대 값을 지정하려면 QWidget.setMaximumSize으로 전화해야합니다.

0

오류 메시지와 마찬가지로 레이아웃에는 setMaximumSize 메서드가 없습니다.

QWidget에는이 방법이 있습니다.

관련 문제