저는 디자이너에서 만든 gui를 가지고 있습니다. stackedWidget 포함
QMainWIndow는 애플리케이션 qwebkit 위젯 일부 사용자 흐름 후에는 stackedWidget
내가 QMainWindow의 constractor 사용할 제 위젯을 가운데, qtree에서 위젯을 포함 인덱스 1로 변경 포함
stackedWidget 인덱스 0으로 시작 이 코드 줄
this-> setCentralWidget (ui.webView); 응용 프로그램이 전환 명령에서 오는
인 색인 번호 1로 전환하는 경우.
왜?QMainWindow setCentralWidget 및 stackedWidget의 문제
0
A
답변
0
마치 QMainWindow 중앙 위젯이 스택 위젯이어야하며 webView가 아닌 것처럼 들립니다.
4
스택 위젯은 다른 위젯을 포함하는 컨테이너 위젯입니다. 귀하의 설정에서, 당신은 두 개의 스택 위젯 : QWebKit 위젯과 QTreeWidget을 사용하는 것 같습니다.
QMainWindow
에 표시하려면 QMainWindow
의 중앙 위젯을 스택 위젯으로 설정하고 QStackedWidget::changeCurrentIndex()
슬롯을 사용하여 첫 번째 위젯에서 다른 위젯으로 전달해야합니다.
누적 위젯의 요소로 QPushButton
및 QLabel
을 사용하는 코드 샘플입니다.
QMainWindow *mainWindow = new QMainWindow();
QStackedWidget *stackedWidget = new QStackedWidget();
// stacked item 0
QPushButton *pushButton = new QPushButton("Here is a button");
stackedWidget->addItem(pushButton);
// stacked item 1
QLabel *label = new QLabel("Here is a label");
stackedWidget->addItem(label);
// add the stacked widget to the main window
mainWindow->setCentralWidget(stackedWidget);
라벨에있는 버튼에서 현재 표시 항목을 변경하려면, 당신은 사용할 수 있습니다 : 코멘트에
stackedWidget->setCurrentIndex(1); // go to the label widget
stackedWidget->setCurrentIndex(0); // go back to the button widget
대체 응답을. 누적 된 위젯을 사용 하시겠습니까? 사실 스태킹 위젯은 위젯의 프리젠 테이션과 같은 탭을 만드는 데 특화되어 있습니다. 한 위젯에서 다른 위젯으로 전환하려면 다음 코드 에서처럼 QMainWindow :: setCentralWidget() 메서드를 직접 사용할 수 있습니다.
QMainWindow *mainWindow = new QMainWindow();
QVector< QWidget* > widgets;
// stacked item 0
QPushButton *pushButton = new QPushButton("Here is a button");
// stacked item 1
QLabel *label = new QLabel("Here is a label");
widgets << pushButton << label;
// add the first widget to the main window
mainWindow->setCentralWidget(widgets[0]);
당신이 다른 위젯으로 전환 할
, 당신은 사용할 수 있습니다mainWindow->setCentralWidget(widgets[1]);
1
당신이 웹보기를 정렬 중심하려는 경우, setCentralWidget
당신이 생각하는 것이 아니다. 중앙 위젯은 기본 창의 기본 위젯입니다. 용어 central은 컨텐츠를 넣는 기본 위젯이고 툴바, 도크 위젯 및 상태 표시 줄은 "액세서리 위젯"과 같은 의미입니다.
위젯을 정렬하거나 위치를 지정하려면 QLayout을보고 기본 창이나 중앙 위젯에 적절한 레이아웃을 추가하십시오.
관련 문제
- 1. QMainWindow + QGraphicsView 및 둘 이상의 QGLWidget 문제
- 2. 화면 중앙에 QMainWindow 설정
- 3. QMainWindow, QWidget 및 QDialog의 차이점은 무엇입니까?
- 4. QMainWindow set frameSize
- 5. QMainWindow 제목 설정 방법
- 6. PyQt는/PySide QMainWindow -보기 사이
- 7. Qt를 QMainWindow 또는 QDialog로 시작하면 문제가 발생합니까?
- 8. QMainWindow/QDockWidget 구분자의 불투명 크기 조절을 해제하십시오.
- 9. 활성 QMainWindow 인스턴스를 찾는 방법은 무엇입니까?
- 10. QMainWindow 시작 전에 작은 창이 나타납니다.
- 11. QMainWindow 분리 기호의 너비를 QDockWidget에 영향을주지 않고 변경하려면 어떻게해야합니까?
- 12. QMdiArea 및 QScrollArea를 사용하는 QT4 이상한 사용 문제
- 13. DataGridview 및 AddNew 문제
- 14. Ajax 및 facebox 문제
- 15. textField.htmlText 및 아포스트로피 (') 문제
- 16. MongoMapper 및 bson_ext 문제
- 17. 거래 및 잠금 문제
- 18. TabBarController 및 NavigationController 문제
- 19. StringBuilder 및 JSON 문제
- 20. R 및 HDF5 문제
- 21. NSDate 및 DateByAddingComponents 문제
- 22. acts_as_attachment 및 Capistrano 문제
- 23. FormsAuthentication 및 Roles 문제
- 24. PHP 및 MySQL 문제
- 25. jqGrid 및 CodeIgniter 문제
- 26. MySQLi와 문제 및 루프
- 27. Eclipse 및 m2eclipse 문제
- 28. CakePHP 및 Smarty 문제
- 29. .htaccess 및 mod_rewrite의 문제
- 30. CSS의 문제 및 정렬
이것은 현재 보유하고있는 것입니다. 기본 창에 붙어있는 위젯 인 setCentralWidget에서 가져 오는 효과가 필요합니다. 이는 찾고자하는 모양이며 디자이너를 통해 가져올 수 없습니다. – user63898
글쎄, 지금 무슨 문제인지 이해가 안돼. 'QStackedWidget'에서 정렬 된 위젯은 사용 가능한 전체 공간을 차지해야합니다. 문제를 자세히 설명해 주시겠습니까? – Lohrun
잘 아니요, 만약 내가 doCentralWidget을 사용하지 않는다면 모든 공간을 감당하지 않습니다. 하지만 setCentralWidget을 사용한다면, 두 번째 스택 위젯으로 전환 할 때 예외가 발생합니다. – user63898