Qt 고수님, 질문 하나 드리겠습니다.
글쓴이: freezm7 / 작성시간: 수, 2010/02/17 - 9:58오후
지금 만들고 있는 프로그램을 단순화해서 설명드리면,
다이얼로그에 세로로 A, B, C 버튼이 있고, 각 버튼의 높이가 100 정도 해서, 다이얼로그의 높이가 300 이라 하겠습니다.
체크박스를 클릭해서 A 버튼이 사라지게 할 수 있어서
그때는 B 와 C 만 보이게 되는데요,,
B 와 C 의 높이를 합하면 200 밖에 안되는데, 다이얼로그의 높이가 300 이라서 여백이 생깁니다.
제가 하고 싶은건, A 가 사라지면 다이얼로그의 높이도 그에 맞게 200 으로 줄어들게 하는 것인데요...
여기서는 가정을 들어서 높이가 고정처럼 말씀드렸지만, 실제로 각 컴포넌트의 크기를 가정할 수는 없습니다.
어떻게 해야, 여백이 생기지 않고 다이얼로그의 크기가 딱 맞게 할수 있을까요?
레이아웃, size hint, size policy 등 다 보고 해봤는데,
다이얼로그의 크기 자체가 변하는게 아니라, 크기는 고정되어 있고 내부에서 각각의 크기만 변하네요.
도움 좀 부탁드립니다. ㅠ.ㅠ
Forums:
자문 자답입니다...
QDialog 에서 minimumSize() 를 얻어온 후 이 값으로 resize() 를 하면 되네요...
만약, minimumSize 의 값이 업데이트 되기 전에 resize() 를 콜해야 할 경우에는
setMinimumSize(0, 0) 으로 해서 minimumSize 를 invalidate 시켜야 resize() 가 minimumSize 보다 작은 경우에도 resize 가 됩니다...
자문자답 끝...
즐겁게 살아 볼까나~*
감사합니다.
감사.
댓글 달기