C++Qt堆叠窗体的使用案例

这篇具有很好参考价值的文章主要介绍了C++Qt堆叠窗体的使用案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本博文源于笔者最近学习的Qt,内容讲解堆叠窗体QStackedWidget案例,效果是选择左侧列表框中不同的选项时,右侧显示所选的不同的窗体。

案例效果

C++Qt堆叠窗体的使用案例,QT,c++,qt,命令模式

案例书写过程

控件都是动态创建的,因此.h文件需要创建控件,.cpp书写业务代码

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include<QListWidget>
#include<QStackedWidget>
#include<QLabel>


namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = nullptr);
    ~Dialog();

private:
    Ui::Dialog *ui;
    QListWidget *list;
    QStackedWidget *stack;
    QLabel* label1;
    QLabel* label2;
    QLabel* label3;
};

#endif // DIALOG_H

.cpp文件,要分为两个部分文章来源地址https://www.toymoban.com/news/detail-667542.html

#include "dialog.h"
#include "ui_dialog.h"
#include<QHBoxLayout>


Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
//    ui->setupUi(this);
    setWindowTitle(tr("StackedWidget"));
    list = new QListWidget(this);
    list->insertItem(0,tr("Window1"));
    list->insertItem(1,tr("Window2"));
    list->insertItem(2,tr("Window3"));

    label1 = new QLabel(tr("WindowTest1"));
    label2 = new QLabel(tr("WindowTest2"));
    label3 = new QLabel(tr("WindowTest3"));
    stack = new QStackedWidget(this);

    //
    stack->addWidget(label1);
    stack->addWidget(label2);
    stack->addWidget(label3);
    QHBoxLayout* mainLayout = new QHBoxLayout(this);

    mainLayout->setMargin(5);
    mainLayout->setSpacing(5);
    mainLayout->addWidget(list);
    mainLayout->addWidget(stack,0,Qt::AlignHCenter);
    mainLayout->setStretchFactor(list,1);
    mainLayout->setStretchFactor(stack,3);
    connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));


}

Dialog::~Dialog()
{
    delete ui;
}

到了这里,关于C++Qt堆叠窗体的使用案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt顶部圆角窗体

    Qt:实现顶层窗体圆角_qt 圆角窗口弹窗-CSDN博客 

    2024年01月25日
    浏览(32)
  • QT窗体绘图QPainter

    QPainter INSCODE AI 创作助手: QPainter是Qt中的一个类,用于在窗口、图像或其他用户界面上绘制图形和文本。它提供了一些方便的方法来画线、矩形、圆、多边形和文本 QPainter绘图函数 INSCODE AI 创作助手: QPainter是Qt中一个用于绘图的类,它提供了一系列的绘图函数。以下是一些

    2024年02月05日
    浏览(40)
  • Qt实现改变无标题栏窗体大小及移动窗体

    目录 1.问题的提出 2.实现方法 3.存在的问题 一般情况下,当去掉窗体标题栏时,按住鼠标左键就无法实现拖动窗体;当去掉窗体标题栏时,窗体四周的边框也去掉了,此时按住鼠标左键拖动窗体四周边沿,无法实现鼠标拖动改变窗体大小。如下为Qt实现去掉窗体标题栏的代码

    2024年02月13日
    浏览(39)
  • 常用界面设计组件 —— 窗体(QT)

    组件是GUI的基本元素,也称为UI控件。它接受来自底层平台的不同用户事件,如鼠标和键盘事件(以及其它事件)。所有组件都继承自QObject。QWidget是一个基本的组件,是所有UI组件的基类。它描述组件所需要的大多数属性,包括几何图形、颜色、键盘行为、工具提示等属性。

    2024年01月20日
    浏览(44)
  • 【QT】多窗体应用程序设计

    目录 1主要的窗体类及其用途 2 窗体类重要特性的设置 2.1 setAttribute()函数 2.2 setWindowFlags()函数 2.3 setWindowState()函数 2.4 setWindowModality()函数 2.5 setWindowOpacity()函数 3 多窗口应用程序的设计 3.1 主窗口设计 3.2 QFormDoc类的设计 3.3 QFormDoc类的使用 3.4 QFormTable类的设计 3.5 QFormTable类的使

    2024年01月18日
    浏览(47)
  • Qt: windows下关闭系统窗体

    之前做了个自动烧录工具,但是有些烧录时出现的一些烦人的弹窗需要解决, 刚好找到一个方法在这里记录一下。 工程文件.pro加入 LIBS += -luser32 Note: 详情看代码及备注。

    2024年04月29日
    浏览(41)
  • Qt编程基础 | 第六章-窗体 | 6.1、主窗体QMainWindow类

    QMainWindow是为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,其界面布局如下图所示 注意:主窗口QMainWindow有自己的布局管理器,因

    2024年02月06日
    浏览(44)
  • QT 子窗体关闭或按钮返回父窗体(零基础保姆级)

    功能 父窗体点击按钮打开子窗体并隐藏父窗体,子窗体点击返回按钮或者关闭按钮后销毁自己并返回父窗体 效果展示 打开uidesigner 设计父窗体ui 建立子窗体 设计子窗体UI “subwidget.h” “subwidget.cpp” “widget.h” “widget.cpp”

    2024年02月11日
    浏览(38)
  • Qt QGenericPlugin插件使用案例

    Qt插件的编写,有两种方式,一种是直接通过自定义接口类Interface来实现,一种是通过QtCreator自带的插件模板来创建。 这里我们先来实现第二种。 功能为点击主界面的按钮,显示插件界面。(插件和开发库一样,什么都可以放进去,只不过就是封装成方便调用的模块) 首先

    2024年02月06日
    浏览(45)
  • Qt窗体全屏与复原,子窗体全屏与复原

    QT QWidget窗体全屏时,全屏与最大化的区别时最大化有标题框全屏没有框,可以使用自带的函数: 复原时也有专门的函数: 1. 点击窗体最大化按钮实现全屏,按下ESC实现复原 如果我想在点击最大化按钮时,让窗体全屏。这个时候最好有线程的信号或者函数,通过它们来调用

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包