我想通过按下按钮从不同的QWidgets切换,但不确定如何执行,当我运行此按钮时,我单击按钮却没有任何反应,我的代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qstackedwidget.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_level_2Button_pressed()
{
QWidget *page_1 = new QWidget;
QWidget *page_2 = new QWidget;
QStackedWidget *stackedWidget = new QStackedWidget;
stackedWidget->addWidget(page_1);
stackedWidget->addWidget(page_2);
stackedWidget->setCurrentWidget(page_2);
}
任何帮助将不胜感激,我是一位非常新的c ++人,我正努力了解如何使用QStackedWidgets,谢谢。
答案 0 :(得分:0)
查看您的代码,您尚未将小部件添加到主窗口:我将在代码中添加const MovieDetails = styled.div`
display: flex;
flex-direction: column;
max-width: 800px;
margin: 20px auto 60px auto;
h1 {
line-height: 1.5em;
}
h1 span {
font-size: inherit;
font-weight: normal;
padding-left: 1rem;
color: #bbb;
line-height: inherit;
}
`;
。您也可以通过布局来做到这一点:只需创建一个布局(例如:setCentralWidget(stackedWidget)
),将小部件添加到布局中(QVBoxLayout
,然后使用layout_name->addWidget(stackedWidget)
。 setLayout(layout_name)
,如果您想使用布局。
如果您想获取有关QLayout
的更多信息,可以使用解释清楚的documentation。