QStackedWidget

本文详细介绍了QStackedWidget类的功能及使用方法,包括如何创建和管理多个可见小部件、如何利用QComboBox实现页面切换等功能,并列举了该类的主要属性成员和成员函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、描述

QStackedWidget 类继承自 QFrame 提供了一堆小部件,其中一次只有一个小部件可见。

    QWidget *firstPageWidget = new QWidget;
    QWidget *secondPageWidget = new QWidget;
    QWidget *thirdPageWidget = new QWidget;

    QStackedWidget *stackedWidget = new QStackedWidget;
    stackedWidget->addWidget(firstPageWidget);
    stackedWidget->addWidget(secondPageWidget);
    stackedWidget->addWidget(thirdPageWidget);

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(stackedWidget);
    setLayout(layout);

QStackedWidget 没有为用户提供切换页面的内在方法。这是使用 QComboBox 的一种方式:

    QComboBox *pageComboBox = new QComboBox;
    pageComboBox->addItem(tr("Page 1"));
    pageComboBox->addItem(tr("Page 2"));
    pageComboBox->addItem(tr("Page 3"));
    connect(pageComboBox, &QComboBox::activated, stackedWidget, &QStackedWidget::setCurrentIndex);

二、属性成员

1、count : const int

堆叠小部件所包含的小部件数量。

2、currentIndex : int

可见的小部件的索引位置。

三、成员函数

1、【信号】void currentChanged(int index)

每当当前小部件更改时,都会发出此信号。参数为当前小部件的索引。

2、void setCurrentWidget(QWidget *widget)

设置当前小部件。新的当前小部件必须已包含在此堆叠小部件中。

3、void widgetRemoved(int index)

每当移除小部件时都会发出此信号。小部件的索引作为参数传递。

4、int addWidget(QWidget *widget)

将给定的小部件附加到 QStackedWidget 并返回索引位置。小部件的所有权传递给 QStackedWidget。

5、QWidget * currentWidget()

返回当前小部件。

     QWidget * widget(int index)

返回给定索引处的小部件。

6、int indexOf(const QWidget *widget)

返回给定小部件的索引,如果给定小部件不是 QStackedWidget 的子级,则返回 -1。

7、int insertWidget(int index, QWidget *widget)

在 QStackedWidget 的给定索引处插入给定的小部件。小部件的所有权传递给 QStackedWidget。 如果 index 超出范围,则在末尾追加小部件(在这种情况下,它是返回的小部件的实际索引)。

8、void removeWidget(QWidget *widget)

从 QStackedWidget 中移除小部件。即小部件没有被删除,而只是从堆叠布局中删除,导致它被隐藏。

注意:小部件的父对象和父小部件将保持为 QStackedWidget。如果应用程序想要重用已移除的小部件,则建议重新设置它的父级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值