listenerri

qt中的QPointer-QSharedPointer等智能指针

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

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

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

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

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

hides-overloaded-virtual-function

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

git-找回已删除的分支

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

qprocess参数设置

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

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

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

vim-ycm-qt自动补全问题

更新: 可以使用rdnetto/YCM-Generator插件来自动生成.ycm_extra_conf.py 当前操作系统: osx 10.13 使用brew安装的qt5 qt安装目录在哪里不需要管, 因为使用brew更新qt后安装目录会随着版本变动而变动, 但不管哪个版本brew都会在/usr/l

增大osx启动分区大小

场景: osx,deepin linux, windows三系统, 需要扩大黑苹果的分区. osx下的磁盘工具简直不能更难用,有下面几个坑,很重要,要想扩容osx系统分区需要知道这些: 不识别空分区,分区必要格式化,否则磁盘工具不识别 必须是系统分区后面的分区才能合并到系统分区里 要合到系统分区的分

linux下控制风扇转速

本文不一定适用于所有电脑,需要自己找到对应的设备文件 我的电脑中,风扇对应到linux下的设备文件的路径是: /sys/class/hwmon/hwmon2/pwm1 其他电脑即便不是这个文件,也在类似的目录下,这个文件的内容是”0-255“的数值, 相应的数值大小对应相应的风扇转速,向这个文件中