很复杂的UI交互操作系统Advanced-Docking-System

news2024/10/10 8:19:18

 看了几天了,内存溢出的问题修复完成了,开源的项目Advanced-Docking-System想不到这么多问题,bugfix真要命,关键GitHub上stars还挺多的,原作者估计不想维护了,毕竟bug太多了

这几天把菜单理了一下,之前的作者写得太乱了,太难读了,代码冗余太多了,这几天再改bug,算当作学习之用吧

///
DockAreaTitleBar.cpp  只有TitleBar操作CDockAreaWidget
//============================================================================
void CDockAreaTitleBar::onPinGroupToActionClicked()//Pin Group to
{
    int Location = sender()->property(internal::LocationProperty).toInt();
    d->DockAreaWidget->toggleAutoHide((SideBarLocation)Location);
}

void CDockAreaWidget::toggleAutoHide(SideBarLocation Location)
{
    //if (!isAutoHideFeatureEnabled())已经启用了AutoHideFeatureEnabled
    //{
    //    return;
    //}

    setAutoHide(!isAutoHide(), Location);
}

/
//autohideTab.cpp,操作CDockWidget
//============================================================================
void CAutoHideTab::onUnpinActionClicked()
{//这个是鼠标右键弹出菜单Unpin的槽函数,参数false表示把一个autohide页面变成dock页面,位置默认为SideBarNone
    d->DockWidget->setAutoHide(false);
}
void CAutoHideTab::onPinToActionClicked()
{
    //这个是鼠标右键弹出菜单Pin to的Slots函数,参见上面的contextMenuEvent函数
    int Location = sender()->property(internal::LocationProperty).toInt();//Location由Pin to子菜单决定
    //pin一个autohide页面,位置为Location
    d->DockWidget->setAutoHide(true, (SideBarLocation)Location);
}


//DockWidgetTab.cpp,操作CDockWidget
//===========================================================================
void CDockWidgetTab::onPinToActionClicked()
{这个是鼠标右键弹出菜单Pin to的Slots函数,参见上面的contextMenuEvent函数
    int Location = sender()->property(internal::LocationProperty).toInt();
    d->DockWidget->toggleAutoHide((SideBarLocation)Location);
}

    void CDockWidget::toggleAutoHide(SideBarLocation Location)//called by CDockWidgetTab::pinAutoHideDockWidget()
    {
        //if (!CDockManager::testAutoHideConfigFlag(CDockManager::AutoHideFeatureEnabled))//zxb
        //{
        //    return;
        //}

        setAutoHide(!isAutoHide(), Location);
    }
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2201516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一台电脑轻松接入CANFD总线-来可CAN板卡介绍

在工业控制领域,常常使用的总线技术有CAN(FD)、RS-232、RS-485、Modbus、Profibus、Profinet、EtherCAT等。RS-485以其长距离通信能力著称,Modbus广泛应用于PLC等设备,EtherCAT则以其低延迟和高实时性在自动化系统中备受青睐。 其中&#xf…

实时开放词汇目标检测(论文复现)

实时开放词汇目标检测(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 实时开放词汇目标检测(论文复现)概述模型框架使用方式配置环境训练和评估训练评估 演示效果Gradio Demo 概述 YOLO-World是由腾讯人工智能实验…

Comfyui 学习笔记5

1.图像处理小工具,沿某个轴反转Image Flip 2. reactor换脸 3. 通过某人的多张照片进行训练 训练的模型会保存在 models/reactor/face/下面,使用时直接load就好 4. 为一个mask 更加模糊 羽化 5. 指定位置替换,个人感觉这种方式进行换脸的融…

评职称需要讲究方法

评职称需要讲究方法 评职称不要太老实 你评三年没下来 你同事走“野路子” 一年就下来了 所以别吃亏了 不走的弯路别走 不该吃的苦别吃 大家如果对于职称评审业绩材料整理还有什么不懂的,可以在评论区留言,甘建二告诉你们怎么报职称,少…

4.C语言概念之旅:解锁关键字,字符,字符串的秘密,揭秘语句和注释,程序员的宝藏

C语言概念之旅:解锁关键字,字符,字符串的秘密,揭秘语句和注释,程序员的宝藏 C语言往期系列文章目录 往期回顾: C语言是什么?编程界的‘常青树’,它的辉煌你不可不知VS 2022 社区版…

Java | Leetcode Java题解之第468题验证IP地址

题目&#xff1a; 题解&#xff1a; class Solution {public String validIPAddress(String queryIP) {if (queryIP.indexOf(.) > 0) {// IPv4int last -1;for (int i 0; i < 4; i) {int cur (i 3 ? queryIP.length() : queryIP.indexOf(., last 1));if (cur <…

优雅的实现服务调用 -- OpenFeign

文章目录 1. RestTemplate存在问题2. OpenFeign介绍3. 快速上手引入依赖添加注解编写OpenFeign的客户端远程调用 4. OpenFeign参数传递从URL中获取参数传递单个参数传递多个参数传递对象传递JSON 5. 最佳实践Feign继承方式创建一个新的模块引入依赖编写接口打jar包服务实现方实…

锐龙7 7800X3D与i7-14700K到底怎么选!其实很简单

从2022年的锐龙7 5800X3D到后来的锐龙7 7800X3D&#xff0c;笔者使用X3D处理器已有2年多的时间。站在自己的立场&#xff0c;我是非常希望游戏老鸟购买这类处理器的&#xff0c;并且也推荐了不少。 这里说的是老鸟&#xff0c;也就是比较懂电脑的玩家。 但是对于新手玩家而言&a…

Canal 扩展篇(阿里开源用于数据同步备份,监控表和表字段(日志))

1.Canal介绍 Canal把自己伪装成从数据库&#xff0c;获取mysql主数据库的日志&#xff08;binlog&#xff09;信息&#xff0c;所以要想使用canal就得先开启数据库日志 https://github.com/alibaba/canal Canal 主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量…

刷题 链表

面试经典150题 - 链表 141. 环形链表 class Solution { public:bool hasCycle(ListNode *head) {ListNode* slow head, *fast head;while (fast ! nullptr && fast->next ! nullptr) {slow slow->next;fast fast->next->next;if (slow fast) {return…

maven加载依赖成功但是引入import不了包,注解报错

突然就复现不出来了&#xff0c;奇了怪了&#xff0c;简单说一下吧&#xff0c;就是模块里引入了SpringBoot Test那个依赖然后&#xff0c; 这个地方是显示引入成功的&#xff0c;但是 这个包下没有&#xff0c;导致我SpringBootTest一直出不来&#xff0c;就找不到这个包下的注…

【一步步开发AI运动小程序】二十、AI运动小程序如何适配相机全屏模式?

引言 受小程序camera组件预览和抽帧图像不一致的特性影响&#xff0c;一直未全功能支持全屏模式&#xff0c;详见本系列文件第四节[小程序如何抽帧]https://blog.csdn.net/alphaair/article/details/133981787 “小程序如何抽帧”)&#xff1b;随着插件在云上赛事、健身锻炼、A…

一个神奇的 Python 库:flanker-next

文章目录 一个神奇的 Python 库&#xff1a;flanker-next背景介绍库简介安装指南函数使用示例解析邮箱地址验证邮箱地址解析 MIME 消息 应用场景自动化邮件处理邮件内容分析客户支持自动化 常见问题及解决方案问题1&#xff1a;解析无效的电子邮件地址问题2&#xff1a;无法找到…

1992-2022年各省夜间灯光数据(excel+shp格式)

1992-2022年各省夜间灯光数据&#xff08;excelshp格式&#xff09; 1、时间&#xff1a;1992-2022年 2、来源&#xff1a; DMSP-OLS、NPP-VIIRS 3、指标&#xff1a;均值、总和、最小值、最大值、标准差 4、范围&#xff1a;34省市&#xff08;含港澳台&#xff09; 5、说…

(25)QPSK信号在AWGN和Rayleigh衰落信道下的性能仿真

文章目录 前言一、MATLAB仿真代码二、仿真结果 前言 QPSK信号在AWGN和Rayleigh衰落信道下的性能仿真MATLAB代码。 一、MATLAB仿真代码 代码如下&#xff1a; nSamp 8; % 矩形脉冲的采样点数 nSymbol 1000000; % 传输的符号…

GPT-SOVIT模型部署指南

一、模型介绍 强大的小样本语音转换和文本转语音 WebUI。 具有以下特征&#xff1a; 零样本 TTS&#xff1a; 输入 5 秒的声音样本并体验即时文本到语音的转换。少量样本 TTS&#xff1a; 仅使用 1 分钟的训练数据对模型进行微调&#xff0c;以提高语音相似度和真实感。跨语…

QD1-P11 HTML常用标签:图片标签

本节学习 HTML 常用标签&#xff1a;图片标签 img ‍ 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p11 ‍ 知识点 1&#xff1a;img 是行内标签 img 是一个行内标签&#xff0c;不会自动换行。 知识点 2&#xff1a;img 标签使用格式 <img src"图片URL" a…

Leetcode 删除链表倒数第 N 个节点

算法思想&#xff1a; 使用了双指针法。下面是详细的算法思想&#xff1a; 1. 引入虚拟头节点&#xff08;dummy node&#xff09; 为了处理链表的一些边界情况&#xff08;比如删除头节点&#xff09;&#xff0c;我们在链表的头部引入了一个虚拟节点 dummy&#xff0c;并让…

点评项目-5-商户查询缓存,从 2s 优化到 12ms

业务需求&#xff1a;当前端发送 shop/id 的请求时&#xff0c;我们需要向前端响应对应 id 的详细数据给前端 直接查询 mysql 效率比较低&#xff0c;我们可以使用 redis 作为中间件进行数据的缓存&#xff0c;先查询 redis &#xff0c;若redis 中未查询到&#xff0c;则在 m…

24.3 基于文件的服务发现模式

本节重点介绍 : 基于文件的服务发现提供了一种配置静态目标的更通用的方法可以摆脱对特定服务发现源的依赖通常的做法是调用内部CMDB的接口获取target数据&#xff0c;打上标签&#xff0c;生成json文件发给prometheus采集 基于文件的服务发现模式 解决的问题 之前手动配置…