QT5可扩展对话框,ui界面实现

今天开始QT系统学习的第二篇文章,可扩展对话框。
我学习的书籍是《Qt5开发及实例 第四版》,这是陆文周老师写的,我有这本书的源码以及pdf,有需要的同学可以私聊我,我可以免费发给大家。

然后就是博客里对于如何新建工程之类的基础步骤就省略了,因为这些东西很基础,就没必要写在这里浪费大家的阅读时间。

今天的实例没有用书上的代码,是以前笼统的学习qt时做的程序,不过也可以拿来借鉴。

首先看一下效果图
QT5可扩展对话框,ui界面实现_第1张图片
首先新建一个工程,工程的基类为QDialog,其实我感觉这个无所谓,可能是我接触的项目不够复杂吧。

这是我的项目结构
QT5可扩展对话框,ui界面实现_第2张图片

然后我们在ui界面下这样布局
QT5可扩展对话框,ui界面实现_第3张图片
首先是两个GroupBox组件,将其文本改为“基本信息”以及“详细信息”,
基本信息框里添加姓名性别家庭住址三个标签以及三个文本框按照这样布局。在右边也就是该GroupBox框外添加三个按钮和一个弹簧,按照这样布局。选中以上内容进行水平布局
详细信息”GroupBox框同理,最后将所有内容选中进行垂直布局。

对于布局我应该讲述的大家可以看懂吧,大家试着上手几次就明白了,很简单的,如果还有疑问可以私聊我,我可以帮大家看一看。

紧接着我们开始敲代码
直接右键“详细信息按钮转到槽,QT的信号机制大家应该都知道,这里就不作详细阐述。
否则就要通过connect建立信号与槽函数直接的联系,很麻烦,没有必要。

然后我们在"dialog.cpp‘的构造函数中加入如下代码

	ui->setupUi(this);
    ui->groupBox_2->hide();
    layout()->setSizeConstraint(QLayout::SetFixedSize);//固定窗口大小

注意"dialog.cpp‘这是我的项目结构里的文件,大家可以对照上面我发的图找到自己项目里对应的文件,还有就是

ui->groupBox_2->hide();

这行代码的“groupBox_2"这是我的ui界面里详细信息组合框objectname,大家对照自己的项目选择是否修改。

然后在我们刚刚的槽函数里写如下代码

if(ui->groupBox_2->isVisible())//判断一个控件是否可见,如果可见则执行下面操作
    {
        ui->groupBox_2->hide();
        ui->pushButton_3->setText("详细信息<<<");
    }
    else//如果不可见则执行下面操作
    {
        ui->groupBox_2->show();
        ui->pushButton_3->setText(("详细信息>>>"));
    }

QT5可扩展对话框,ui界面实现_第4张图片
上图是我的文件里的代码样子,然后运行就可以了。

这就是一个简单的可扩展对话框。

我也不知道我写的大家可以看懂么,如果有什么疑问可以私聊我,之后我还会继续QT文章的学习记录,如果大家感觉我的文章对你有所帮助的话,希望可以点赞+关注,谢谢大家。

你可能感兴趣的:(Qt,qt,ui,开发语言)