zoukankan      html  css  js  c++  java
  • Qt5:改变形状的对话框

    改变形状的对话框

        就是类似于QQ聊天窗口的那种对话框  , 点击就能伸缩侧边栏的那种 。 

        其实现的 思想 就是 通过 显示或 隐藏 一些 窗口部件 , 然后让程序自动判断窗口的 合适尺寸, 然后将窗口设置为合适尺寸 ,这样就能达到改变

        窗口形状的效果了

      如下的代码段实现了一个简单的更改窗口形状的  程序

     1 #include "sortdialog.h"
     2 #include<QLayout>
     3 SortDialog::SortDialog(QWidget *parent)
     4     :QDialog(parent)
     5 {
     6     setupUi(this);
     7   //程序初始化的时候先隐藏窗口部件
     8     groupBox_2->hide();
     9     groupBox_3->hide();
    10   //然后将窗口设置为合适的尺寸
    11     this->layout()->setSizeConstraint(QLayout::SetFixedSize);
    12 }
    13 
    14 SortDialog::~SortDialog()
    15 {
    16 }
    17 
    18 void    SortDialog::on_okBtn_clicked()
    19 {
    20     this->setWindowTitle(tr("hahahahha"));
    21     this->update();
    22 }
    23 
    24 void    SortDialog::on_cancelBtn_clicked()
    25 {
    26     this->close();
    27 }
    28 //点击事件  槽函数
    29 void    SortDialog::on_moreBtn_clicked()
    30 {//该函数的功能就是当点击按钮的时候,会伸缩对话框
    31     static    bool    flag = false;
    32     groupBox_2->setHidden(flag);
    33     groupBox_3->setHidden(flag);
    34     flag = !flag;
    35     layout()->setSizeConstraint(QLayout::SetFixedSize);
    36 }

    下面是实现的效果

    展开前      展开后

  • 相关阅读:
    读《大道至简》第二章有感
    《大道至简》读后感
    JAVA课后作业
    大道至简第三章观后感
    JAVA作业之两数的加减乘除
    JAVA作业之动手动脑
    第一次Java实验
    大道至简第二章观后感
    大道至简第一章观后感
    Django__admin的配置
  • 原文地址:https://www.cnblogs.com/wowk/p/3113007.html
Copyright © 2011-2022 走看看