多个控件隐藏和显示
写在前面
在进行界面开发的工作时,常常涉及到不同界面的开发。尤其是通过菜单栏控制。
在前边,我们已经讲过如果将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