实践过程中,看到C#实现的CollapsePanel功能,比一般的TabWidget更加直观,充分利用了页面空间,遂感到很有兴趣,也查阅了很多资料搜索Qt在这方面的实现。

  目前来说,比较常见的作法就是利用空间的setVisiable()特性,当setVisiable(false)时,空间则会隐藏,如果仅仅是去除显示,这样来做目的已经达成,而CollapsePanel的功能则是利用折叠充分利用显示空间,于是我想到了Qt的布局实现,通过测试发现可行,为了实现折叠的动画效果,再加上了spacer去填充剩余空间,最终,一个粗糙的CollapsePanel实现了。

  下面展示折叠效果:

  

  图1:UI设计界面图

  

  图2:展开效果

  

  图3:折叠效果

Qt实现collapsePanel(折叠)功能的更多相关文章

  1. vim代码折叠功能

    问题:怎样在vim中实现代码折叠功能? 解决方法:直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠 小试折叠: 1  :set fdm=marker  在vim中执行该命令 2  5G  将 ...

  2. 【转】vim折叠功能

    原文:https://www.yupengsir.com/topic/content?i=140 这个作者的vim系列是高级的用法, 要学习一下. https://blog.easwy.com/arc ...

  3. 找回Xcode7的代码折叠功能

    升级到Xcode7后,会发现代码折叠功能不见了,这是怎么回事? 其实这个功能还在的,用以下的快捷键仍然可以折叠代码.只是不能用鼠标实现折叠了:在Xcode菜单里选择Preference——Text E ...

  4. Qt Graphics-View的打印功能实现

    本文来研究一下Qt Graphics-View的打印功能实现. 在Qt的官方文档中介绍了Graphics-View的打印相关内容. Qt中对打印的支持是有一个独立的printsupport模块来完成的 ...

  5. vs2015里给c#添加轮廓折叠功能

    轮廓折叠,在看代码时非常有用的功能,可以暂时屏蔽大段不相关的if/else分支 记得以前老版vs里是自带这功能的,c++和c#都有 但不知为啥最新的2015里c#没有了,搜了下原来是要装插件: htt ...

  6. [Qt] CFlip 翻页功能实现

    由于需要给table制作翻页功能,所以写了一个翻页的类. 看上去总体效果感觉还是不错的,哈哈. //flip.h #ifndef CFLIP_H #define CFLIP_H #include &l ...

  7. 组合使用QT的资源管理高级功能简化开发过程

    使用 QT 进行团队开发的时候,常常碰到一个问题,就是如何共同管理资源?甚至一个人进行开发的时候如何简化资源的维护,避免无谓的消耗? 如果可以做到在开发的时候,大家把美工做的图片(往往是程序员先自己随 ...

  8. 给 Qt sqlite 增加加密功能

    整合sqlite代码 开源的sqlite中没有实现加密的功能,所以如果需要加密功能,需要自己实现 sqlite3_keysqlite3_rekey 等相关函数 不过开源的 wxsqlite3中已经实现 ...

  9. vim添加代码折叠功能

    用空格或者za命名改变,添加如下到vimrc文件 " Enable folding set foldmethod=indent set foldlevel=99 " Enable ...

  10. 在调用Qt库来实现功能过程中的一些总结

    1.对于QTabWidget中tab名字的变化.当其中只有一个&时,Qt Assistant中给出的解释是:If the tab's label contains an ampersand, ...

随机推荐

  1. Linux shell 获取路径、文件名、文件后缀

    以 make 文件为例: file=/usr/bin/make [root@CentOs7]# echo ${file%*/} /usr/bin/make [root@CentOs7]# echo $ ...

  2. 下载安装i5ting_toc

    全部都是以管理员身份运行powershell 1.打开powershell之后输入命令npm i i5ting_toc -g 这样就全局安装了 2.set-ExecutionPolicy Remote ...

  3. Systrace学习记录

    「置顶」Android 性能优化必知必会[大量文章] https://androidperformance.com/2018/05/07/Android-performance-optimizatio ...

  4. MySQL半一致读实验

    参考资料: https://dev.mysql.com/doc/refman/8.0/en/innodb-transaction-isolation-levels.html https://www.y ...

  5. 嵌入式Linux应用开发

    3-4 Makefile常用的函数 i.  $(foreach var,list,text) 简单地说,就是 for each var in list, change it to text. 对lis ...

  6. hbase修改表TTL

    创建表时可以指定TTL create 'test_lwt',{NAME=>'d',TTL=>3600}  设置test_lwt表数据TTL为3600秒 修改已存在的表TTL disable ...

  7. mysql报错:MySQL server has gone away

    一.报错提示: 二.报错原因: 原因一: 一种可能是发送的 SQL 语句太长,以致超过了 max_allowed_packet 的大小,如果是这种原因,你只要修改 my.cnf,加大 max_allo ...

  8. IDEA使用fastjson1时maven引入依赖没报错,但是用不了JSONObject工具类

    删除项目下的.idea文件夹重新打开项目就行, 不知道为什么

  9. 回溯-1-N皇后(Backtracking-1-N Queens)

    #include <stdio.h> #define N 4 enum bool {TRUE, FALSE}; void print_Q(int *Q) { int i; for (i = ...

  10. WSL2安装了Ubuntu之后root不知道密码

    更新了WSL2,安装完 Ubuntu 只要求新建账号和密码,不知道root密码,各种不方便Ubuntu 的默认 root 密码是随机的,即每次开机都有一个新的 root 密码在终端输入命令 sudo ...