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

看了几天了,内存溢出的问题修复完成了,开源的项目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);

}

相关推荐
code_whiter23 分钟前
C++10(list)
c++·windows·list
夕除25 分钟前
spring boot--08
开发语言·windows·python
new【一个】对象31 分钟前
Python 包管理器uv
人工智能·windows·python
一只AI打工虾的自我修养37 分钟前
DeepSeek V4.1 vs Ollama vs LocalClaw:Mac本地AI工具横评
人工智能·windows·macos
www.021 小时前
(一)windows下反代软件CLIProxyAPI 安装与基础使用(个人记录)
人工智能·windows·算力·token·反代·cliproxyapi
莫生灬灬2 小时前
ElementUI封装 共91个组件 支持易语言/火山/C#/Python
开发语言·c++·python·ui·elementui·c#
Byron Loong2 小时前
【逆向】Windows 系统调用流程 + SSDT/ShadowSSDT/ETW/VT Hook + 内核 / 用户层区别
windows
唐诺2 小时前
iOS UI 框架详解
ui·ios
扬帆破浪2 小时前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:公司只允许装签名应用 给察元AI打企业内部分发包
人工智能·windows·电脑·知识图谱
布朗克1682 小时前
Claude Code 2026中文教程指南入门:Mac/Windows安装配置全攻略
windows·macos·claude·code