Author avatar

listenerri

dde-dock插件开发入门

436

最近公司需要补充一些项目的文档,我负责的几个项目中比较有实用价值的是这个 dde-dock 插件的开发入门教程,这里是转载,原发在 dde-dock 项目源码中。 插件的工作原理 插件是一种在不需要改动并重新编译主程序本身的情况下去扩展主程序功能的一种机制。 dde-dock 插件是根据 Qt 插件

源码构建qtcreator记录

242

在 deepin linux 系统下编译 qtcreator 4.8.0 版本,可是按照官方 README 却始终编译不通过,遇到了以下几个问题,并列出了相关解决方案。当然官方的 README 上所说的编译依赖还是要装上的。 问题0 这个可能不是必须的 不要在源码目录下建立 build/build-

QPropertyAnimation不生效

275

在 Qt 中实现动画的一种方便的做法就是使用 QPropertyAnimation 类, 构造 QPropertyAnimation 时设置目标 widget 和 property, 然后设置一下初始和结束的 property 值剩下的 Qt 就会帮我们做了. 常用的一个动画属性就是 "geomet

qt中的QPointer-QSharedPointer等智能指针

316

QPointer QPointer在用法上跟普通的指针没有什么区别, 可以将它当做是一个普通指针一样使用. 例如: void barFunc(QLabel *label) { ... } QPointer<QLabel> pointer; pointer = new QLabel; //

qt中翻译静态成员变量中的字符串

617

在 qt 中要翻译一个字符串很简单,只需要使用 tr 函数包裹住字符串即可。后来发现这一方法对于静态变量无效,经同事提醒原来静态数据初始化时,程序还没有加载翻译数据,也就是一般写在 main 函数中的 QTranslator::load() / app.installTranslator() 类似代

gdb调试qt程序时打印qt特有的类型数据

640

如果没有使用 qtcreator 调试 qt 程序,而是手动或利用其他 IDE 使用 gdb 调试,会发现 qt 类型的数据如 QString QList QMap 等不能直接查看其值。其实 gdb 是提供了关于打印数据的接口的,叫做 Pretty-Printer,这是一种利用 python 代码更

hides-overloaded-virtual-function

735

在重载父类的同名虚函数时会出现hides overloaded virtual function编译警告。 从字面上的意思其实就可以理解:重载的虚函数被隐藏了。 三个关键点: 重载 虚函数 隐藏 这个编译警告之所以出现,是因为上面三个关键点,首先是发生了重载,子类重载了父类的函数,其次被重载的是虚函

git-找回已删除的分支

35

手残总是难免的,有时候不小心删掉了一个还没有合并或者push的分支,等反应过来似乎已经找不到这个分支在仓库中存在的痕迹了。 这时git reflog命令就体现出了它的价值,其实git会把我们在仓库里的所有操作都记录下来, 从git reflog命令的输出就可以看到,就算是从分支A切换到分支B也会被记

qprocess参数设置

321

QProcess用于启动一个外部程序,并提供了与之通信的接口。 使用setProgram来设置要启动的外部程序,setArguments来设置要传递给这个外部程序的参数。 setArguments需要一个QStringList类型的参数,在构造这个参数的时候要注意不能把外部程序需要的参数作为一整个字

the-menu-is-gone-in-qt-on-mac-osx

108

在osx系统下, qt程序菜单项的名字如果是“quit”,"about"(不区分大小写), 这个菜单项就会消失, 如果这个菜单只包含这些会消失的菜单项, 那么这个菜单也会消失. 猜测: 这应该是由于跟osx系统默认给程序提供了一些菜单项有冲突的关系. 问题示例代码: SimpleMenu::Simp