多个控件隐藏和显示

写在前面

在进行界面开发的工作时,常常涉及到不同界面的开发。尤其是通过菜单栏控制。
在前边,我们已经讲过如果将QT环境中的菜单栏点击事件与相应的功能(槽)函数进行连接,并实现相应的控件隐藏和显示。
但是一个成熟的软件,肯定不仅仅只有几个控件需要隐藏和显示。那么我们该如何做呢?
跟着我,一起往下看。

QT之容器控件

容器概念

容器控件是指允许在其内部添加其他控件的控件。在移动容器控件时,可以同时移动添加在容器内的控件。

特殊控件–页面类

在QT中包含着一些特殊的控件,这些控件看起来就像一个完整的页面。
当把这些控件的大小和变化设置为保持与软件大小一致时,就能够实现整个页面的切换。
在这里插入图片描述
添加后设置相关属性,并将需要的控件分别放入相关容器内
在这里插入图片描述
控件内容
在这里插入图片描述
容器属性:只需要将容易拉动到主界面一致大小,无需对其它属性进行更改。
在这里插入图片描述
至此添加完毕。
返回VS2022中,进行代码编写。
使用VS进行QT开发参见这篇文章:https://blog.csdn.net/MelyLenient/article/details/123854069
使用VS开发QT界面,自动生成槽函数参见这篇文章:
https://blog.csdn.net/MelyLenient/article/details/123907803
VS+QT开发添加Action动作参见这篇文章:
https://blog.csdn.net/MelyLenient/article/details/123929215

界面控制代码:

头文件

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication1.h"

class QtWidgetsApplication1 : public QMainWindow
{
    Q_OBJECT

public:
    QtWidgetsApplication1(QWidget *parent = Q_NULLPTR);

private:
    Ui::QtWidgetsApplication1Class ui;

    void p_hideControl();
private slots:
    void actionCOMBeSelected();
    void actionNETBeSelected();
};

Cpp文件

#include "QtWidgetsApplication1.h"

QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    p_hideControl();
}

void QtWidgetsApplication1::p_hideControl()
{
    ui.NETWidget->setVisible(false);
    ui.COMFrame->setVisible(false);
}
void QtWidgetsApplication1::actionCOMBeSelected()
{
    p_hideControl();
    ui.COMFrame->setVisible(true);
}
void QtWidgetsApplication1::actionNETBeSelected()
{
    p_hideControl();
    ui.NETWidget->setVisible(true);
}

下载源码:DownLoad

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐