【大话QT之八】模拟QQ系统设置面板实现功能

本文介绍了如何使用QScrollArea和QListWidget模拟QQ系统设置面板,通过监听滚动条变化和点击事件,实现实时显示对应配置项。详细讲解了关键步骤,包括监听valueChanged事件、利用visibleRegion方法判断区域、设置滚动条位置,并讨论了解决事件触发冲突的策略。
摘要由CSDN通过智能技术生成

业务需求:

         基于网盘客户端的实现,原有网盘的设置面板无论从界面显示还是从业务需求都不能满足我们的正常需求。当前的要求是,模拟QQ系统设置的面板实现当前我们网盘中的基本配置功能。在完成这篇文章时已将基本功能实现完成,虽未整合进网盘客户端中,但基本技术预演已经实现。

QQ系统设置面板分析:

      QQ系统设置面板效果图:

                                       

      QQ系统设置面板功能描述:

       由于存在较多的配置,如果每个模块的配置项都设计到一个窗体中,则会存在很多的窗体,不太符合用户的使用体验,且程序编写也比较麻烦。QQ系统设置面板中的实现是,所有的配置项均列在右侧区域中,当移动右侧的滚动条的过程中,如果对应的面板出现则在左边的导航中对应的标题也显示点击的效果。同时,单独点击左侧的导航,右面的区域也显示对应导航的配置项。

实现思路:

        左侧:

                 左侧导航的实现很简单,使用QListWidget完全可以满足我们的需求,至于当点击左侧时右侧显示对应模块的配置项则需要我们添加处理代码完成。

        右侧:

                 由于右侧存在导航栏,因此右侧的区域需要使用QScrollArea控件,这里需要注意两点:1> 在QScrollArea控件中每个模块的配置需要放在一个单独的QWidget中,只  有这样我们在移动滚动条经过某个某块的配置项时才可以识别到。2> 在实现滚动条效果时,看到网上有很多文章说滚动条效果无法实现出来,其实我的做法很简单,在ui窗体中将QScrollArea拖入窗体中,然后设置改窗体的属性:widgetR

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值