Ubuntu 21.04下编译Zeal并添加隐藏菜单栏快捷键
2021/8/8 7:06:47
本文主要是介绍Ubuntu 21.04下编译Zeal并添加隐藏菜单栏快捷键,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Zeal是个查API文档的利器,最近经常用到。不过我喜欢KDE下可以Ctrl+M隐藏菜单栏,于是就把Zeal的源码从github上clone了下来,路径是zealdocs/zeal. 加个快捷键的代码我发现很容易加进去,然后编译得到build/bin/zeal
, 替换apt get zeal
得到的/usr/bin/zeal
即可。README.md里面提到了一些依赖包,我编译时发现我的Ubuntu 21.04系统缺了下面几个:
sudo apt install qtwebengine5-dev libarchive-dev libqt5x11extras5-dev libxcb-keysyms1-dev
Zeal是在 src/libs/ui/mainwindow.ui
里面定义了menuBar
, src/libs/ui/mainwindow.cpp
里面第一个函数就是MainWindow
的构造函数,一开始是建立UI和加快捷键。在
setupTabBar();
代码后添加一句:
// 默认隐藏菜单栏 ui->menuBar->hide();
然后在
auto shortcut = new QShortcut(QStringLiteral("Ctrl+K"), this); connect(shortcut, &QShortcut::activated, this, [this]() { currentTab()->searchSidebar()->focusSearchEdit(); });
后面添加两句:
// 用Ctrl+M显示或隐藏菜单栏 shortcut = new QShortcut(QStringLiteral("Ctrl+M"), this); connect(shortcut, &QShortcut::activated, this, [this]() { if (ui->menuBar->isVisible()) ui->menuBar->hide(); else ui->menuBar->show(); });
最后按照README.md里面的说明用cmake编译即可。
附上修改后的文件与原始文件diff -c
的结果:
*************** *** 67,78 **** --- 67,82 ---- } setupTabBar(); + ui->menuBar->hide(); // Setup application wide shortcuts. // Focus search bar. auto shortcut = new QShortcut(QStringLiteral("Ctrl+K"), this); connect(shortcut, &QShortcut::activated, this, [this]() { currentTab()->searchSidebar()->focusSearchEdit(); }); + shortcut = new QShortcut(QStringLiteral("Ctrl+M"), this); + connect(shortcut, &QShortcut::activated, this, [this]() { if (ui->menuBar->isVisible()) ui->menuBar->hide(); else ui->menuBar->show(); }); + shortcut = new QShortcut(QStringLiteral("Ctrl+L"), this); connect(shortcut, &QShortcut::activated, this, [this]() { currentTab()->searchSidebar()->focusSearchEdit(); });
这篇关于Ubuntu 21.04下编译Zeal并添加隐藏菜单栏快捷键的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)