Emacs C++ Auto Complete

所谓 auto complete 即自动完成,就是智能猜测用户想输入的词,帮助用户自动输入,通常我们所说的 IDE 中的 Intellisense 也可用认为是某种自动完成。 auto-complet...

C++ 实现字符串千位分隔符算法

前言按照套路,首先得写写前言,废话一下。 做计算器的时候,有千位分隔符是很常见的需求,但是表达式千变万化,如何才能准确加入千位分隔符呢?纯数字转为为千分符格式的数字是非常容易的,只需要匹配处千分位就好...

Linux Qt 无边框窗口完美移动

在 Linux 下做过 Qt 无边框窗口的都知道,使用Qt移动函数是无法移动窗口到屏幕边界,原因在于被窗口管理器忽略,这个时候就需要用到 X11 了。 在 pro 文件添加相关配置:1234QT +=...

Deepin Notifications 技术细节原理

为了达到 Deepin UI/UX 大统一,deepin-notifications 提供桌面通知服务,按照 Deepin UI 设计规范做的右上角消息通知对话框,遵循了 freedesktop 标准...

Qt Button box-shadow Property

A button shows a shadow in the hover state and no shadow in the leave state. like this: AchieveWe c...

Qt 实现窗口内通知 Toasts 控件

Toast是Android中用来显示Tooltip的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。 代码之路toast.h1234...

Deepin Font Installer 技术原理

深度字体安装器主要实现字体安装、卸载、预览;安装在系统目录,可以保证系统多用户可以使用新安装的字体。 架构设计 主要由以下三部分构成: deepin-font-installer 为字体安装器主进程...

Deepin Emacs 一些常用的快捷键

Deepin Emacs 是一个可自编程和扩展的文本编辑器,Emacs 内置 Elisp 解释器和热替换机制,Deepin Emacs 集成了 Emacs27 开发版的功能,还包括了丰富的插件,其中的...

Linux 获取所有字体名称

这几天在写字体安装器,所以研究了下freetype、fontconfig这两个库。 装上Dev开发包1sudo apt install libglib2.0-dev libfontconfig1-de...

QObject::sender() 用法

QObject是 Qt 所有对象的基类,当某一个对象 emit 出一个信号的时候,它就是一个 sender,系统会记录下当前是谁 emit 出这个信号,所以你在对应的 slot 里就可以通过 send...