今天开始QT系统学习的第二篇文章,可扩展对话框。
我学习的书籍是《Qt5开发及实例 第四版》,这是陆文周老师写的,我有这本书的源码以及pdf,有需要的同学可以私聊我,我可以免费发给大家。
然后就是博客里对于如何新建工程之类的基础步骤就省略了,因为这些东西很基础,就没必要写在这里浪费大家的阅读时间。
今天的实例没有用书上的代码,是以前笼统的学习qt时做的程序,不过也可以拿来借鉴。
首先看一下效果图
首先新建一个工程,工程的基类为QDialog,其实我感觉这个无所谓,可能是我接触的项目不够复杂吧。
这是我的项目结构
然后我们在ui界面下这样布局
首先是两个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(("详细信息>>>"));
}
上图是我的文件里的代码样子,然后运行就可以了。
这就是一个简单的可扩展对话框。
我也不知道我写的大家可以看懂么,如果有什么疑问可以私聊我,之后我还会继续QT文章的学习记录,如果大家感觉我的文章对你有所帮助的话,希望可以点赞+关注,谢谢大家。