QStackedWidget에서 위젯을 전환하는 방법

3303 단어 Qtqt5

소개



Qt를 사용하여 위젯의 일부를 동적으로 전환하는 방법을 찾고 있었고 QStackedWidget을 찾았으므로 사용법을 간략하게 요약합니다.

QStackedWidget 사용법



QStackedWidget을 사용하려면 QStackedWidget 를 포함해야 합니다.
#include <QStackedWidget>
QStackedWidget에 위젯을 추가하여 특정 위젯을 표시하려면 addWidget(QWidget *widget)setCurrentIndex(int index)를 사용하십시오.
QWidget *page1 = new QWidget;
QWidget *page2 = new QWidget;

QStackedWidget *stackedWidget = new QStackedWidget;

// ウィジェットを追加して、そのインデックスを受け取る
int idx_page1 = stackedWidget->addWidget(page1);
int idx_page2 = stackedWidget->addWidget(page2);

// 表示したいウィジェットのインデックスをセット
stackedWidget->setCurrentIndex(idx_page1);

인덱스 외에도 위젯을 지정할 수 있습니다.
stackedWidget->setCurrentWidget(page1);

더 자세한 설명은 공식 문서를 참조하십시오.
Qt Documentation - QStackedWidget Class

QtDesigner를 사용하는 경우



QtDesigner의 위젯 상자에 있는 Stacked Widget은 QStackedWidget입니다.


배치하면 두 개의 컬러 페이지를 가진 QStackedWidget이 가능합니다.
이러한 페이지를 직접 편집해도 좋고, 표시하고 싶은 위젯을 별도로 작성해 두어 페이지를 격상할 수도 있습니다.


QStackedWidget을 사용한 샘플



페이지를 진행하거나 추가·삭제를 할 수 있는 샘플을 GitHub에 올려 놓았습니다.
GitHub - QStackedWidget을 사용한 샘플

결론



QStackedWidget을 사용하면, 인스톨러로 자주 있는, 다음을 눌러 진행해 가는 것 같은 어플리케이션이나, 모드에 따라서 위젯의 일부가 바뀌는 것 같은 어플리케이션을 만들 수 있을 것 같습니다. 그 밖에도 편리한 기능이 있다고 생각하므로, 기회가 있으면 한층 더 찾아보고 싶습니다. 또, 사용법에 대해서, 어드바이스등을 받을 수 있으면 고맙습니다.

좋은 웹페이지 즐겨찾기