前言

有时候需要实现窗口可扩展,换句话说有一部分widget能够隐藏,显示,并且对话框大小可以随着widget变动而做出相应的变化;如图:

在点击CheckBox时,GroupBox_2能够显示,取消选中时,又恢复隐藏状态。如左图:

具体步骤:

1, 在designer中建立必须的几个widget,其中Groupbox我都设置sizePolicy为Fixed,限制了大小;

2, 在选择你的主窗口右击,设置Layout,你可以选择你想要的布局。其中1,2,5,6都可以选。然后再次右击进入如下窗口,选择Adjust Size,这样整体布局就设置好了。

3, 然后我们可以看到主对话框的属性编辑栏出现了红色的布局设置选项,设置layoutSizeConstraint的值为setFixedSize;

4, 难点和需要注意的部分已经结束了。然后是信号槽的编写,具体参看详细代码:

main.cpp
#include "extensiondialog.h"
#include <QtGui/QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
extensionDialog w;
w.show();
return a.exec();
} Extensiondialog.h #ifndef EXTENSIONDIALOG_H
#define EXTENSIONDIALOG_H #include <QtGui/QDialog>
#include "ui_extensiondialog.h"
#include <QGroupBox>
class extensionDialog : public QDialog
{
Q_OBJECT public:
extensionDialog(QWidget *parent = , Qt::WFlags flags = );
~extensionDialog(); private:
Ui::extensionDialogClass ui; private slots:
void Slot_checkBox();
}; #endif // EXTENSIONDIALOG_H extensiondialog.cpp #include "extensiondialog.h"
extensionDialog::extensionDialog(QWidget *parent, Qt::WFlags flags)
: QDialog(parent, flags)
{
ui.setupUi(this);
ui.groupBox_2->hide();
connect(ui.checkBox,SIGNAL(clicked()),this,SLOT(Slot_checkBox()));
} void extensionDialog::Slot_checkBox()
{
if(ui.checkBox->isChecked())
ui.groupBox_2->show();
else
ui.groupBox_2->hide(); }
extensionDialog::~extensionDialog()
{ }

最新文章

  1. JS 做的鼠标放大镜(初级)
  2. windows C input 注意
  3. putty-不输入密码直接登陆
  4. 7.4---加法替代运算(CC150)
  5. a标签截字
  6. Python:装饰器
  7. subprocess module
  8. 绝对震撼 7款HTML5动画应用及源码
  9. xheditor 进阶
  10. 由form表单来说说前后台数据之间的交互
  11. java 加解密
  12. Java反射的简单入门
  13. 2802:小游戏利用bfs来实现
  14. 搭建Hexo博客(四)-设置
  15. spark连数据库
  16. Spring Boot + Spring Cloud 构建微服务系统(四):容错机制和熔断(Hystrix)
  17. Windows Server 脚本记录Apache、Mysql 每分钟并发数
  18. Linux动态频率调节系统CPUFreq之一:概述【转】-- 非常好的博客
  19. Unity Shader-后处理:简单均值模糊
  20. Scala学习笔记——内建控制结构

热门文章

  1. java--mybatis的实现原理
  2. ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval
  3. IPV4和IPV6的划分
  4. BZOJ 1135 P3488 LYZ-Ice Skates 线段树+Hall
  5. Sleep-Join方法理解
  6. table 随着内容自动适应宽度
  7. idea如何打开右侧工具栏
  8. kickstart批量装机脚本
  9. flutter 跳转至根路由
  10. “景驰科技杯”2018年华南理工大学程序设计竞赛 A. 欧洲爆破(思维+期望+状压DP)