当前位置: 首页 > wzjs >正文

做网站码贺州市八步区乡镇建设局网站

做网站码,贺州市八步区乡镇建设局网站,做一个网站的计划书,如何注册一个平台以下是使用 QStackedWidget 实现动态切换界面的完整代码,包含详细的注释和实现步骤: 完整代码 1. 子界面类:Page1 和 Page2 首先创建两个简单的子界面类,用于嵌入到 QStackedWidget 中。 // Page1.h #ifndef PAGE1_H #define P…

以下是使用 QStackedWidget 实现动态切换界面的完整代码,包含详细的注释和实现步骤:


完整代码

1. 子界面类:Page1 和 Page2

首先创建两个简单的子界面类,用于嵌入到 QStackedWidget 中。

// Page1.h
#ifndef PAGE1_H
#define PAGE1_H#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>class Page1 : public QWidget {Q_OBJECT
public:explicit Page1(QWidget* parent = nullptr) : QWidget(parent) {QLabel* label = new QLabel("这是页面 1", this);label->setAlignment(Qt::AlignCenter);QVBoxLayout* layout = new QVBoxLayout(this);layout->addWidget(label);setLayout(layout);}
};#endif // PAGE1_H
// Page2.h
#ifndef PAGE2_H
#define PAGE2_H#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>class Page2 : public QWidget {Q_OBJECT
public:explicit Page2(QWidget* parent = nullptr) : QWidget(parent) {QLabel* label = new QLabel("这是页面 2", this);label->setAlignment(Qt::AlignCenter);QVBoxLayout* layout = new QVBoxLayout(this);layout->addWidget(label);setLayout(layout);}
};#endif // PAGE2_H

2. 主窗口类:MainWindow

实现主窗口,包含 QStackedWidget 和切换按钮。

// MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QStackedWidget>
#include <QPushButton>
#include <QVBoxLayout>
#include "Page1.h"
#include "Page2.h"class MainWindow : public QMainWindow {Q_OBJECT
public:explicit MainWindow(QWidget* parent = nullptr);private:QStackedWidget* stackedWidget;
};#endif // MAINWINDOW_H
// MainWindow.cpp
#include "MainWindow.h"MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) {// 1. 创建 QStackedWidget 并添加子界面stackedWidget = new QStackedWidget(this);Page1* page1 = new Page1(stackedWidget);Page2* page2 = new Page2(stackedWidget);stackedWidget->addWidget(page1);  // 索引 0stackedWidget->addWidget(page2);  // 索引 1// 2. 创建切换按钮QPushButton* switchButton = new QPushButton("切换页面", this);connect(switchButton, &QPushButton::clicked, [=]() {// 计算下一个页面的索引(0 或 1)int nextIndex = (stackedWidget->currentIndex() + 1) % 2;stackedWidget->setCurrentIndex(nextIndex);});// 3. 布局管理QVBoxLayout* layout = new QVBoxLayout();layout->addWidget(switchButton);layout->addWidget(stackedWidget);QWidget* container = new QWidget(this);container->setLayout(layout);setCentralWidget(container);  // 将容器设置为主窗口的中央部件// 4. 窗口属性setWindowTitle("QStackedWidget 示例");resize(400, 300);
}

3. 主函数:main.cpp

启动应用程序并显示主窗口。

// main.cpp
#include <QApplication>
#include "MainWindow.h"int main(int argc, char* argv[]) {QApplication app(argc, argv);MainWindow window;window.show();return app.exec();
}

代码说明

关键步骤
  1. 创建子界面

    • Page1Page2 继承自 QWidget,并在构造函数中设置布局和控件(例如 QLabel)。
  2. QStackedWidget 管理子界面

    • 使用 addWidget() 将子界面添加到 QStackedWidget 中,每个子界面的索引从 0 开始递增。
    • 通过 setCurrentIndex() 切换当前显示的界面。
  3. 切换按钮逻辑

    • 点击按钮时,计算下一个页面的索引(currentIndex() + 1)% 总数),实现循环切换。
  4. 布局管理

    • 使用 QVBoxLayout 将按钮和 QStackedWidget 垂直排列。
    • 将布局设置到 QWidget 容器中,再将容器设置为主窗口的中央部件。

运行效果

  1. 窗口初始显示 Page1,内容为 “这是页面 1”。
  2. 点击按钮后切换到 Page2,内容为 “这是页面 2”。
  3. 再次点击按钮回到 Page1

扩展功能

  • 添加更多页面:只需创建新的子界面类,并调用 stackedWidget->addWidget(newPage)
  • 自定义切换动画:使用 QPropertyAnimation 实现淡入淡出或滑动效果。
  • 通过菜单切换:将按钮替换为 QMenuQToolBar 的菜单项。

此代码可直接复制到 Qt 项目中编译运行,确保在 .pro 文件中添加 QT += widgets


文章转载自:

http://sHN6YXS5.zxqqx.cn
http://1gEa6Z0P.zxqqx.cn
http://dzb3wKsu.zxqqx.cn
http://ZcIbxxFS.zxqqx.cn
http://LC4uD1nq.zxqqx.cn
http://yCIq0FIp.zxqqx.cn
http://5QskHZ8i.zxqqx.cn
http://WfmRmG8G.zxqqx.cn
http://3DTENAjZ.zxqqx.cn
http://LTccqJLy.zxqqx.cn
http://sIj3i2GV.zxqqx.cn
http://fIs4WQyu.zxqqx.cn
http://P1qSFzUT.zxqqx.cn
http://7aWQVZnc.zxqqx.cn
http://LNwX2XJq.zxqqx.cn
http://4Do3Uuoz.zxqqx.cn
http://FTRsWL0j.zxqqx.cn
http://BTIC0H3b.zxqqx.cn
http://L7JZDFVt.zxqqx.cn
http://d9PeIL27.zxqqx.cn
http://y5vvOU45.zxqqx.cn
http://0ULanXY9.zxqqx.cn
http://4NyX6VkJ.zxqqx.cn
http://rQiq8tub.zxqqx.cn
http://rv1Scv5f.zxqqx.cn
http://u1fqXBEK.zxqqx.cn
http://VfAlOJq6.zxqqx.cn
http://IqRcMRnq.zxqqx.cn
http://N97WpBuk.zxqqx.cn
http://xAC9QWKE.zxqqx.cn
http://www.dtcms.com/wzjs/760750.html

相关文章:

  • 建门户网站需要多少钱深圳有哪些网站开发公司
  • 服务器怎么装网站吗上高做网站公司
  • 我想网上做网站设计有关的网站
  • 网站建设实训意见建网站用什么程序好
  • 开广告店需要什么技术符合seo的网站
  • 金华北京网站建设下载百度到桌面
  • 产品单页网站能做SEO优化的网站建设
  • 深圳集团网站建设服务网站建设有哪些家
  • 建设商业门户网站的重要seo外链工具软件
  • jsp网站开发实例.百度网盘网络设计报告六千字
  • 商标设计网站免费电商网站怎么做seo
  • 建手机网站多少钱wordpress请求接口数据库
  • 天山路街道网站建设怎么做仲博注册网站
  • 专做宝宝辅食的网站wordPress 要开放评论吗
  • 博物馆网站 建设方案品牌策划公司推荐
  • 网站开发选择框代码线上教育平台推广怎么做
  • 陕西做网站找谁青岛app软件开发公司
  • 图表生成网站游戏网站平台怎么做的
  • 电商网站模板下载郑州网站托管助企
  • 中国化学第九建设公司网站临沂网站建设制作
  • 北京微信网站制作费用wordpress仪表盘空白
  • 做网站映射tcp单位做网站支出应怎么核算
  • 腾讯云做网站教程关键词云图
  • 网站做效果联系方式建筑公司会计做账及报税流程
  • 海口网站建设是什么wordpress固定衔接出错
  • 广州朝阳网站建设wordpress 清理
  • 免费做苗木网站长沙装修公司排行榜
  • 甲马营seo网站优化的网络营销难不难学
  • 建网站公司那个比较好室内设计接单的网站
  • 建站优化办事效率高外贸网站搜索引擎优化方法