c++ - 不知道如何使用 QStackedWidget
问题描述
我想通过按下按钮从不同的 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,谢谢。
解决方案
查看您的代码,您尚未将小部件添加到主窗口:我将添加setCentralWidget(stackedWidget)
您的代码。您也可以通过布局来做到这一点:只需创建一个布局(例如:)QVBoxLayout
,将您的小部件添加到布局中(layout_name->addWidget(stackedWidget)
并使用。如果您想使用布局,setLayout(layout_name)
请不要忘记包含。QLayout
如果您想了解更多信息QStackedWidget
,可以使用解释清楚的文档。
推荐阅读
- java - 使用 mySQL 从 Spring Boot 开始时,Javers 给出重复的键名“jv_global_id_owner_id_fk_idx”
- kql - 如何在日期之间创建 kql 查询
- three.js - three.js 失真,glb (gltf) 模型上的颜色替换。蓝色变为绿色,黄色变为橙色
- powershell - 在 dc 调用命令 - 获取 gpinheritance - 不起作用
- regex - 如何从以下 reg 表达式响应中排除最后一个字符
- python - 找出列表中直到特定索引的唯一元素的程序
- ios - 我们可以在专为儿童设计的 iOS 应用中使用 Firebase 吗?
- python - 在定时while循环中输入
- css - 如何在 CSS 中访问 Node JS“主页”或 PUBLIC_URL 值?
- c++ - 为什么从文件中获取输入时我的字符串为空?