매개 변수는 새 위젯이 없는 경우 또는 -1(예: QStackedWidget에 위젯이 없는 경우) -1을 보유합니다. 지금까지 제시 된 예제에서, 우리는 단순히 레이아웃에 위젯을 넣어 여분의 공간을 소비하는 스페이서 항목 (뻗어)를 사용했다. 경우에 따라 레이아웃을 원하는 방식으로 정확하게 보이게 하기에는 충분하지 않습니다. 이러한 상황에서는 배치되는 위젯의 크기 정책과 크기 힌트를 변경하여 레이아웃을 조정할 수 있습니다. 레이아웃 관리를 수행하는 다른 클래스에는 QSplitter, QScrollArea, QMainWindow 및 QMdiArea가 있습니다. 이러한 모든 클래스는 사용자가 조작할 수 있는 유연한 레이아웃을 제공합니다. 예를 들어 QSplitter는 사용자가 드래그하여 위젯 크기를 조정할 수 있는 분할 막대를 제공하며 QMdiArea는 응용 프로그램의 기본 창 내에서 동시에 많은 문서를 표시하는 수단인 MDI(다중 문서 인터페이스)에 대한 지원을 제공합니다. 레이아웃 클래스의 대안으로 사용되는 경우가 많기 때문에 이 장에서다룹니다. 양식에서 자식 위젯의 레이아웃을 관리하는 세 가지 기본 방법은 절대 위치 지정, 수동 레이아웃 및 레이아웃 관리자입니다. 그림 6.1에 표시된 파일 찾기 대화 상자를 예로 사용하여 이러한 각 방법을 차례로 살펴보겠습니다.

그림 6.4에서는 “일부 텍스트”를 예로 들어 있는 QLabel을 사용하여 다양한 크기 정책의 의미를 요약합니다. 크기 정책의 수평 및 수직 구성 요소 외에도 QSizePolicy 클래스는 가로 및 세로 늘이기 계수를 저장합니다. 이러한 스트레치 계수는 양식이 확장될 때 서로 다른 하위 위젯이 서로 다른 속도로 증가해야 함을 나타내는 데 사용할 수 있습니다. 예를 들어 QTextEdit 위에 QTreeWidget이 있고 QTextEdit이 QTreeWidget보다 두 배 높이가 이면 QTextEdit의 수직 스트레치 계수를 2로 설정하고 QTreeWidget의 수직 스트레치 계수를 1로 설정할 수 있습니다. QStackedWidget은 사용자가 페이지를 전환할 수 있는 본질적인 수단을 제공하지 않습니다. 이 작업은 일반적으로 QStackedWidget 페이지의 제목을 저장하는 QComboBox 또는 QListWidget을 통해 수행됩니다. 예: QStackedWidget에서 위젯을 제거합니다. 즉, 위젯은 삭제되지 않고 누적된 레이아웃에서 단순히 제거되어 숨겨지게 됩니다.

. 절대 위치는 위젯을 배치하는 가장 거친 방법입니다. 양식의 자식 위젯과 고정 된 크기에 하드 코딩 된 크기와 위치를 지정 하 여 달성 됩니다. FindFileDialog 생성자는 절대 위치를 사용하는 것처럼 보입니다. 그래서, 차이점은 무엇입니까? 기본 설정 및 확장 위젯이 모두 포함된 폼의 크기가 조정되면 확장 위젯에 추가 공간이 주어지며 기본 위젯은 크기 힌트를 유지합니다. 위젯() 함수는 지정된 인덱스 위치에서 위젯을 반환합니다. 화면에 표시되는 위젯의 인덱스는 currentIndex()에 의해 제공되며 setCurrentIndex()를 사용하여 변경할 수 있습니다. 비슷한 방식으로 현재 표시된 위젯은 현재Widget() 함수를 사용하여 검색하고 setCurrentWidget() 함수를 사용하여 변경할 수 있습니다. PySide.QtGui.Q스택레이아웃 PySide.QtGui.QTabWidget 구성 대화 상자 예제 .

절대 위치 지정과 마찬가지로 수동 레이아웃에는 프로그래머가 계산해야 하는 많은 하드 코딩상수가 필요합니다. 이와 같은 코드를 작성하는 것은 특히 디자인이 변경되는 경우 지루합니다. 그리고 텍스트 잘림의 위험이 여전히 있습니다. 우리는 자식 위젯의 크기 힌트를 고려하여이 위험을 피할 수 있지만, 그것은 코드를 더욱 복잡하게 할 것입니다. . . . 달리기 나 조깅에 가까운 장소가없는 사람들의 목록에있는 사람들을 위해, 당신은 러닝 머신을 취득하고자하는, 바로 여기 그물에 식별 할 수있는 가격 범위가 될 것입니다. 여기에 내 웹 사이트입니다 … 보우 플렉스 아령 552 .

현재 위젯을 지정된 위젯으로 설정합니다. 새 현재 위젯이 이 누적 위젯에 이미 포함되어 있어야 합니다. 첫 번째 는 진정으로 심장 혈관 운동을위한 것이 아니며, 당신은 단순히 당신이 exercises.my 홈페이지를 시작하기 직전에 운동을 학습에 투자를해야합니다 : 최고 나는 더 많은 것을 알아보고 싶습니다? 나는 몇 가지 추가 정보를 알아보고 싶습니다. 또한 내 홈페이지를 방문 :: 주도 다운 라이트 프레토리아 오 내 선하심! 인상적인 기사 친구! 정말 감사합니다, 그러나 나는 당신의 RSS에 어려움을 겪고있다.