• 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 }

    下面是实现的效果

    展开前      展开后

  • 相关阅读:
    hdu 5877 (dfs+树状数组) Weak Pair
    hdu 5876 (补图BFS) Sparse Graph
    bzoj 1051 (强连通) 受欢迎的牛
    UVA 10054 (欧拉回路) The Necklace
    HYSBZ 2743 (树状数组) 采花
    Codeforces 702C Cellular Network
    ZAB协议(Zookeeper atomic Broadcast)
    分布式一致性协议-2PC与3PC(二)
    分布式架构(一)
    redis集群
  • 原文地址:https://www.cnblogs.com/wowk/p/3113007.html
Copyright © 2020-2023  润新知