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

qt QStackedLayout详解

QStackedLayout类提供了一种布局方式,使得在同一时间内只有一个子部件(或称为页面)是可见的。这些子部件被维护在一个堆栈中,用户可以通过切换来显示不同的子部件,适合用在需要动态显示不同界面的场景,如向导、设置页面等。

重要方法

  • addWidget(QWidget *widget):向堆栈中添加一个新的子控件,并返回该子控件在堆栈中的索引。
  • insertWidget(int index, QWidget *widget):在指定的索引位置插入一个新的子控件。
  • setCurrentIndex(int index):设置当前可见的子控件索引。
  • currentWidget() const:返回当前可见的子控件。
  • currentIndex() const:返回当前可见的子控件索引。
  • widget(int index) const:返回指定索引位置的子控件。
  • count() const:返回堆栈中子控件的数量。

重要信号

  • currentChanged(int index):当当前可见的子控件发生变化时,发射此信号。
  • widgetRemoved(int index):当堆栈中的某个子控件被移除时,发射此信号。
int main(int argc, char *argv[])
{QApplication a(argc, argv);QWidget *widget = new QWidget;widget->show();QListWidget* listWidget = new QListWidget(widget);listWidget->addItem("Home");listWidget->addItem("Profile");listWidget->addItem("Settings");QStackedLayout* stackedLayout = new QStackedLayout;QLabel* homeLabel = new QLabel("Welcome to the Home Page.", widget);QLabel* profileLabel = new QLabel("This is your Profile Page.", widget);QLabel* settingsLabel = new QLabel("Here are your Settings.", widget);stackedLayout->addWidget(homeLabel);stackedLayout->addWidget(profileLabel);stackedLayout->addWidget(settingsLabel);QObject::connect(listWidget, &QListWidget::currentRowChanged, stackedLayout, &QStackedLayout::setCurrentIndex);QHBoxLayout* mainLayout = new QHBoxLayout;mainLayout->addWidget(listWidget);mainLayout->addLayout(stackedLayout);widget->setLayout(mainLayout);return a.exec();
}

觉得有帮助的话,打赏一下呗。。

           

http://www.lryc.cn/news/474302.html

相关文章:

  • python实现钉钉群机器人消息通知(消息卡片)
  • 防火墙技术应用
  • docker engine stopped
  • Redis- 内核的分配内存限制的警告“WARNING Memory overcommit must be enabled!”
  • 腾讯云在线扩容数据盘
  • Time Travel Queries|在 RisingWave 中访问历史数据
  • Unity之UnityWebRequest
  • 使用 pkg 打包 Puppeteer 应用:跨平台自动化的轻量级选择
  • 【Flask】三、Flask 常见项目架构
  • AI机西使用体验:你不知道的强大功能揭秘!
  • 什么是护网(HVV)需要什么技术?(内附护网超全资料包)
  • opencv优秀文章集合
  • php处理文件上传的五种方式
  • C#与C++交互开发系列(十一):委托和函数指针传递
  • 【window】补充一些powershell基本命令
  • 精准触达用户,私域三步法!
  • Tcl脚本介绍(一)
  • 安全运营 -- 监控linux命令history
  • MyBatis3(动态SQL 常用的动态SQL 元素 映射器注解 基本注解 结果映射注解)
  • C#自定义事件的案例
  • flume系列之:flume机器做条带划分提高磁盘性能和吞吐量的详细步骤
  • C++基于opencv的视频质量检测--图像清晰度检测
  • 力扣11.1
  • 打印室预约系统|基于java和小程序的打印室预约系统设计与实现(源码+数据库+文档)
  • 操作系统-多线程案例
  • 什么是FUSE用户态文件系统
  • [每日一练]销售分析(通过数据的0/1转换进行是否存在的查询)
  • .NET Core WebApi第7讲:项目的发布与部署
  • 【python 将数据写入csv文件】正确方式
  • OpenCV4.8 开发实战系列专栏之 10 - 像素值统计