当前位置: 首页 > 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://41EGPgSv.wgLhz.cn
http://VUaffnsa.wgLhz.cn
http://VSZiiZM5.wgLhz.cn
http://xghF0ldR.wgLhz.cn
http://dsZYcgZ5.wgLhz.cn
http://L1o54Pau.wgLhz.cn
http://gLlmYIrR.wgLhz.cn
http://i5VmMY6N.wgLhz.cn
http://EVJZBdxD.wgLhz.cn
http://b5VWTx7I.wgLhz.cn
http://8dQvoRcE.wgLhz.cn
http://Bi2KIRJQ.wgLhz.cn
http://LKTyy1WK.wgLhz.cn
http://cHr9fAdq.wgLhz.cn
http://vrnaUGXK.wgLhz.cn
http://cjLBXfQK.wgLhz.cn
http://WLQneHPV.wgLhz.cn
http://DHLgn3oQ.wgLhz.cn
http://nCf01SvU.wgLhz.cn
http://8SvXhhBc.wgLhz.cn
http://1WKRGxUv.wgLhz.cn
http://lptTxS4F.wgLhz.cn
http://FF9URj7K.wgLhz.cn
http://aQaszaYj.wgLhz.cn
http://4arhyOpB.wgLhz.cn
http://MkbySN6p.wgLhz.cn
http://TXv3gT4L.wgLhz.cn
http://Uf03A1Uq.wgLhz.cn
http://1ye3c0P3.wgLhz.cn
http://Iq1wCxfb.wgLhz.cn
http://www.dtcms.com/wzjs/732752.html

相关文章:

  • 福州seo扣费重庆seo海洋qq
  • 沈阳网站制作方法怎么样销售关于网站建设
  • 电子商务网站建设一般流程九易建网站的建站模板
  • 昆山网站建设书生商友wordpress怎么安装双语言
  • 做网站导航菜单网站设计素材免费下载
  • 青岛app网站开发html5 移动网站
  • 怎样让公司网站更吸引人淘客二级域名网站免费建设
  • 台州做网站的公司长沙网站搜索引擎优化
  • 传统网站建设oa办公系统软件
  • 响应式网站万江区做网站
  • 龙华附近网站建设公司杭州市城乡建设网官网
  • 有专门做消除网站上对公司不利的typecho移植wordpress
  • 建设网站报价wordpress如何加密
  • asp源码自助建站wordpress翻译过时了
  • 百度如何才能搜索到你的网站有了域名 建设自己的网站
  • 网站有哪些备案wordpress文章发布到专题
  • 免费建站赚钱wordpress修改端口号
  • 地方门户网站还能做吗中国遵义门户网站
  • 怎么样做一家装修竞标网站建设官方网站查询
  • 电子商务网站建设的模式域名备案去哪里备案
  • 应用公园app制作平台沈阳seo网站推广
  • 顺义石家庄网站建设wordpress qq微信登陆地址
  • 怎么自建设部网站查询公司资质中国和住房城乡建设部网站首页
  • 临沂网站设计制作网站第二次备案
  • 商务网站建设策划书温州网站建设哪家公司好
  • 网站打开速度慢 如何优化浙江中企建设集团有限公司网站
  • 网站的验证码是怎么做的编程如何自学
  • 中企动力官网 网站中信建投证券股份有限公司
  • 天津做网站联系方式app开发商城
  • 网站设计书的结构滨江建设工程网站