C++编程
JohnnyRian
毕业于华东理工大学,由机械专业转行计算机,目前任职于网易,高级C++客户端开发工程师.
展开
-
Qt 按钮控件虚线框
虚线框复现来源点选按钮,使用 Tab 键在界面中切换, 会发现一旦切换到按钮上会附带一个虚线框,如下图所示解决措施1,在样式表中添加如下一行代码即可解决空间中获取焦点出现虚线框的问题。/*remove all QWidget's focus border 移除虚线框 */QWidget:focus{outline: none;}...原创 2021-04-23 15:28:38 · 1618 阅读 · 0 评论 -
Windows获取系统的时区、系统语言、时间戳等信息
// 获取系统的时区、系统语言、时间戳等信息 static bool GetOsExtraInfo(std::string& osTimeZone, std::string& osSysLanguage, std::string& osTimeStamp) { // 系统时区信息 TIME_ZONE_INFORMATION tmp; ::GetTimeZoneInformation(&tmp); int tzRet = tmp.Bias / (-60);.原创 2021-03-11 11:23:17 · 1281 阅读 · 0 评论 -
Visual Studio 调试过程watch窗口使用归纳
windows 消息在watch窗口中若需要展示一个windows消息变量的值, 可以使用 uMsg,wm 查看普通变量常用的还有:1, d, i, u, o, x, X, f, e, g等,跟C语言printf里的一样,表示数字的各种形式,并支持4X等写法;2, c, s, su(Unicode String)等,用于显示字符及字符串;3, hr 用于显示Win32 error code;4, wm用于显示windows消息,比如WM_CLOSE等其中,hr本来用于显示HRESUL原创 2020-09-21 16:24:50 · 3731 阅读 · 0 评论 -
RC.exe命令行将.rc文件编译为.res文件,解决error RC2144 : PRIMARY LANGUAGE ID not a number报错
RC.exe此程序为windows sdk中将 .rc 资源文件打包为 .res 文件的系统工具一篇1999年的介绍该工具使用方法的文章注意RC.exe 程序依赖于rcdll.dll和部分系统库,单独拷贝使用时需要 rcdll.dll重点:形如如下格式的rc文件:STRINGTABLELANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED{ 103, "hello" 104, "world"}如果直接执行命令 (/r 以及原创 2020-09-08 11:57:25 · 1283 阅读 · 0 评论 -
Qt根据属性判断对象的类型
Qt 判断对象类型Qt根据属性判断对象的类型Qt根据属性判断对象的类型在使用Qt的过程中偶尔有需求需要动态判断当前对象的类型,比如模板类中若对不同的类型有特殊处理,需要用到此功能,Qt的元对象系统提供了属性来进行判断bool QObject::inherits(const char *className) constReturns true if this object is an instance of a class that inherits className or a QObject原创 2020-08-17 17:32:52 · 4295 阅读 · 0 评论 -
Visual Studio 中std::string变量很长显示不全时的解决办法
在写代码过程中发现 std::string 类型的变量在调试过程中太长,放大镜(微软的字符串可视化工具中)查看显示不全,最后是省略号的情况,可以按照如下方式将其显示完全:1, 添加变量的监视 watch2,将std::string 变量 转为 const char* 类型,并加上逗号和 s8 (使用utf8编码),这样将会显示完整的字符串内容....原创 2020-07-10 12:00:04 · 3854 阅读 · 0 评论 -
C++11新特性总结
C++11 总结文章目录C++11 总结@[toc]C++11新特性1. `nullptr`2. `long long`3. `__func__`4. 新的字符串字面值5. 新的整型(长度不小于64位) `long long/ unsigned long long` [暂未找到区别]6. 静态断言 `static_assert`7. 允许sizeof运算符直接作用在类的成员变量而不依赖对象8. 继承和重写 `final & override`9. 使用和禁用对象的默认函数10. 字符串和数值原创 2020-06-21 17:47:31 · 1136 阅读 · 0 评论 -
windows C++ 根据进程名获取进程id
DWORD GetProcessPID(QString pProcName){ TRACET(); if (pProcName.isEmpty()) return -1; DWORD arrProcessPids[1024] = { 0 }, cbNeededSize = 0; if (!EnumProcesses(arrProcessPids, sizeof(arrProce...原创 2020-04-22 18:42:58 · 2865 阅读 · 0 评论 -
C++11 多特性自我详细总结分享
C++11 总结文章目录C++11 总结@[toc]C++11新特性1. `nullptr`2. `long long`3. `__func__`4. 新的字符串字面值5. 新的整型(长度不小于64位) `long long/ unsigned long long` [暂未找到区别]6. 静态断言 `static_assert`7. 允许sizeof运算符直接作用在类的成员变量而不依赖对象...原创 2019-11-28 01:22:31 · 352 阅读 · 0 评论 -
QWidget使用setStyleSheet设置样式表不生效
在使用QWidget的过程中发现一个奇怪的现象,如果在代码中直接设置样式表 setStyleSheet(“background-color: #FFFFFF;”); 会不生效,经过多番尝试和查询,发现QT官方文档中提到需要按照如下图片中的格式重写 paintEvent 函数,经测试可以使得样式表生效;编者按:经过与同事的讨论和经验,如果此QWidget不是顶层widget (即将被...原创 2019-08-08 00:13:46 · 6473 阅读 · 4 评论 -
开发过程零碎知识点记录(长期更新)
Windows 开发过程中的零碎知识点Visual Studio 中编译解决方案时如果遇到fatal error C1083: 无法打开文件:stdafx.h, 包含了头文件 stdafx.h 需要在项目中使用预编译头解决方案:VS中属性管理器=>右击当前项目选择属性=>配置属性=>C/C++=>预编译头=>预编译头选择’使用(/Yu)’原创 2019-03-06 11:12:35 · 245 阅读 · 0 评论 -
初步使用libuv (已在阿里云Linux服务器上安装并使用)
初步使用libuv (已在阿里云Linux服务器上安装并使用)初衷: 将在接下来的造轮子过程使用libuv搭建服务端;首先是根据官方介绍安装libuv:1、下载源代码;(推荐git clone [email protected]:libuv/libuv.git)2、然后进行安装步骤:$ cd libuv$ sh autogen.sh ## 若报错automake: not fou...原创 2019-05-10 00:48:39 · 1183 阅读 · 0 评论 -
开发过程中的一些报错整理及解决办法 [LTS]
编译报错整理[LTS 长期更新]一部分开发过程中编译报错的整理1, Qt 相关编译报错2, Visual Studio 2015 and above 相关编译报错3, Linux 下 gcc g++ 相关编译报错一部分开发过程中编译报错的整理1, Qt 相关编译报错error: allocating an object of abstract class type;查看类里面的虚函数是...原创 2019-04-03 16:39:51 · 462 阅读 · 0 评论 -
C++11 遍历STL容器方法简记(vector map)
简略记录使用 C++11 特性对 vector 和 map容器进行遍历,用到了多个方法,对于方法的取舍见仁见智包括但不限于以下方法:- 普通迭代器方法- auto关键字识别迭代器方法- auto关键字范围遍历方法- for_each加函数遍历方法- for_each与lamanda表达式组合方法/*==================================...原创 2018-02-02 17:20:07 · 3146 阅读 · 0 评论 -
初探gethostbyname、DNS、dig
标题三个名词产生的联系源于需求: 当域名解析失败或者解析的结果不正常(被劫持)时,需要指定公共DNS重新进行域名解析gethostbyname用于获取一个域名(例如 www.google.com)或者主机名的ip地址,在Linux和Windows上均有对应的系统级函数,用法可以参考如下链接,关于用法很多博文已经阐述,此处不再赘述;getaddrinfo工作原理分析gethostby...原创 2019-03-12 17:00:25 · 969 阅读 · 0 评论 -
Windows切换输入法导致程序卡死的解决办法
转自:https://blog.csdn.net/chenlycly/article/details/7345040 近日在开发类似QQ屏幕截图过程中,发现在输入文字时切换输入法(Ctrl+Shift)时,会导致程序出现“卡死”现象。为了方便代码重用,屏幕截图模块是以动态库方式封装起来的。出现“卡死”现象后,只能通过任务管理器强制杀掉对应的进程才能退出程序。于是,上网搜索了相关话题,发现原因通常是...转载 2018-07-06 17:34:17 · 6204 阅读 · 0 评论