• QStackedWidget动态多界面


    1、新建子界面的虚基类

    uiinterface.h

    #ifndef UIINTERFACE_H
    #define UIINTERFACE_H
    #include <QWidget>
    namespace UIINTERFACE_NAME_SPACE {
    #define UI_WIDTH 1520
    #define UI_HEIGHT 1118
    }
    
    class UiInterface : public QWidget
    {
        Q_OBJECT
    public:
        UiInterface(QWidget *parent = 0);
    private:
        /*初始化*/
        virtual void _init(){}
    };
    
    #endif // UIINTERFACE_H

    uiinterface.cpp

    #include "uiinterface.h"
    using namespace UIINTERFACE_NAME_SPACE;
    UiInterface::UiInterface(QWidget *parent)
        :QWidget(parent)
    {this->resize(UI_WIDTH, UI_HEIGHT);
    }
    

    2、新建子界面,类型是Qt设计师界面类,然后稍作修改【多个】

    uiradarperform.h

    #ifndef UIRADARPERFORM_H
    #define UIRADARPERFORM_H
    
    #include "uiinterface.h"
    
    namespace Ui {
    class UiRadarPerform;
    }
    
    class UiRadarPerform : public UiInterface
    {
        Q_OBJECT
    
    public:
        explicit UiRadarPerform(QWidget *parent = 0);
        ~UiRadarPerform();private:
        Ui::UiRadarPerform *ui;
        virtual void _init() override;
    };
    
    #endif // UIRADARPERFORM_H

    uiradarperform.cpp

    #include "uiradarperform.h"
    #include "ui_uiradarperform.h"
    
    UiRadarPerform::UiRadarPerform(QWidget *parent) :
        UiInterface(parent),
        ui(new Ui::UiRadarPerform)
    {
        ui->setupUi(this);
        (void)_init();
    }
    
    UiRadarPerform::~UiRadarPerform()
    {
        delete ui;
    }
    
    

    uiradarperform.ui

    可自定义界面

    3、在mainwindow.ui里拖入一个QStackedWidget

    4、在mainwindow.cpp构造函数里

    UiRadarPerform* pUI = new UiRadarPerform;
    ui->stackedWidget->addWidget(pUI);

    ps:重点和难点就是对Qt设计师界面类的修改,默认是继承QWidget,改成继承UiInterface类




    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    vue 兄弟组件间传值(bus方式)的坑(重复触发和首次未触发)
    vue 组件间传值(兄弟)(bus方式)
    vue 导出数据到excel
    vue-cli webpack打包后加载资源的路径问题
    vue组件传值之(父子)
    vue组件传值
    thinkphp 5 一些常见问题
    windows 安装 composer
    HTML H5响应式,表格,表单等
    面试
  • 原文地址:https://www.cnblogs.com/judes/p/14438897.html
Copyright © 2020-2023  润新知