自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (9)
  • 收藏
  • 关注

原创 linux内核编译与升级

一,Linux内核源码下载在Linux官网下载对应的内核代码建议下载文档版本源码,解压到当前目录。二、编译内核#1.解压xd -d linux_xxx.tar.xdtar -xvf linux_xxx.tar#2.拷贝配置文件到当前目录cp /boot/config-xxx ./.config#3.编译图型菜单make menuconfigsa...

2020-01-17 14:50:23 327

原创 Linux gdb 调试core dump

gdb使用两个推荐链接:GDB中文手册GDB常用命令0.关于core文件的设置两种方式设置core文件名,默认系统是生成名为core的文件,但是当我们为了方便调试,需要生成带pid,time等信息的core文件时候,就需要自己设置一下了。以下命令一般都要root权限。echo "1" > /proc/sys/kernel/core_uses_pid如果以上命令执行无权限,...

2019-10-18 11:27:47 262

原创 Qt5压缩解压缩文件/夹

全网居然没找到一个能直接压缩整个文件夹的c/c++库,就算找到了zlib,karchive,archive等开源库,基本也是在Linux下支持的较好,在win下只有zlib还算是编译过了。而且不能全文件夹压缩的,都是buffer或者单文件压缩,这就好奇了,标准zip怎么搞?原来zip是有一个特定archive的,链接在此。由此思路,如果自己要压缩文件夹,那就自己遍历,然后自己定义压缩文件的格式...

2019-08-02 15:21:15 2705 2

原创 使用windeployqt打包

使用QT5自带的windeployqt打包程序1.从开始菜单找到qt程序目录如下图,我安装了vs版和mingw版本,根据需要选择即可。2.执行两条关键命令cd 到exe所在的目录执行windeployqt *.exe会在当前目录生成exe依赖的所有文件(含库,语言包,插件等信息,部分非必须文件也会被拷贝过来)。此时程序即可打包了。...

2019-06-11 13:36:48 481

原创 Qt5 Linux远程调试

当我们程序发布到新机时,难免会遇到意料之外的情况,在目标机安装编译环境虽不失为一种方式,但安装环境耗时耗力,远程调试一定会让你觉得神清气爽.1.目标机需要有gdb gdbserver.没有就安装,Ubuntu是自带有,gdbserver --version可以查看版本信息2.目标机执行debug版本gdbserver 127.0.0.1:1234 myAppip:port说...

2019-02-27 12:58:52 609

原创 虚拟机Ubuntu局域网联网问题

对于虚拟机的网络有多种模式:1.桥接模式,该模式直接使虚拟机连接物理网卡,与主机保持同一局域网。但与主机ip地址不同。该模式下,局域网内的其它主机可以与该虚拟机相互ping通。可以使用外网。2.nat模式,默认模式,该模式是与主机共用一个ip,但虚拟了一个新的子网,故局域网内的其它主机不能ping该虚拟机,但该虚拟机可以ping通其它的主机,可以使用外网。...

2019-01-25 18:36:15 476

原创 再谈qt5程序发布时依赖库问题追踪

程序打包后,发布到新的Ubuntu18,又出现了依赖库的问题。使用ldd显示的所有依赖库都已经存在了,一切正常,然而一运行就发现qxcb no found,这。。。。难道plugins路径不对?之前在其他环境都布了完全能运行啊,怎么可能plugins会不起效呢?设置一下环境变量/拷贝qxcb库到应用程序路径,还是不起效,所以路径不对也基本可以排除了。这时,使用qt自带的一个调试插件的宏就起...

2018-12-24 17:52:50 873

原创 centOS7安装python3.7+版本问题

1.python2不要卸载,因为yum依赖python2,谁叫Google不向下兼容2.保留2,安装python3.7依赖的第三方库,  wget 下载地址  ./configure prefix=/usr/local/python3  (请使用此命令代替上述命令./configure --with-ssl如果不带ssl安装会导致后面pip链接网络失败,也就安装不了python的其...

2018-12-08 15:37:21 1950

原创 QT将事件执行moveToThread槽函数不响应问题

如图,最近遇到这么个问题,想将写日志信息放到一个单独的线程中去执行,然而添加movetothread后程序就不进入槽函数了,第一想到的就是检查语法规范,然而,注释图中第三行代码发现,可以执行,显然,语法是没任何问题的了。这就有点奇怪了,于是单步调试发现如下图这个提示就很明显了,原来是参数未注册元对象的问题。那好注册一下试试呗,成功了,打印下线程信息安心呗,果然意料之中。总结...

2018-11-27 17:59:50 2260 1

原创 linux的ssh免密登录

ssh免密登录在很多运维环境都需要用到FTP,SCP,SSH远程登录等。。。暂且假想客户端为B,服务器为S。我们需要从B远程登录S的时候,总是需要登录S端的用户密码,很麻烦。那么如何利用ssh免密登录?以rsa加密为例,本质是利用rsa加密算法对登录密码做了加密处理,来使得服务器自动接受客户机的认证。1.公钥 2.私钥,本文不做赘述。直接上代码,首先确保B-S联通,且S启动了ssh服务...

2018-11-21 19:08:07 128

原创 老毛桃制作LinuxU盘启动盘

如果usb-hdd+的写入方式,系统制作完后,启动失败,所以需要在“便捷启动”中手动写入引导扇区即可,选择syslinux。如果写引导总是提示u盘被占用,实际并未被占用,改用RAW方式重做即可...

2018-11-19 10:13:59 7863 1

原创 linux修改因软件版本升级不能使用的命令

linux部分版本会内置一些常用软件命令,如python /qt等。Ubuntu自带python2,qt4,如果我们安装了python3 ,qt5发现python命令调的还是python2,而qt命令还是调用的qt4,这时候我们需要找到该命令链接点,从新链接即可而当前用户的命令通常所在目录是/usr/bin#进入用户命令所在目录cd /usr/bin#查看python命令l...

2018-11-14 10:48:05 176

原创 Gnome隐藏上边栏,Ubuntu18 hide top bar

Ubuntu18LTS,UI已经回归gnome了。Unity被弃!那么本文就将已Ubuntu18为例讲解怎么隐藏顶部状态栏及任务栏。任务栏其实没啥讲的Ubuntu18/16都是在系统设置里面就支持自动隐藏了,还有停靠位置(左,右,下)。但是自动隐藏18与16不同的是,18只有软件界面与dock界面有交汇碰撞,dock才隐藏,否则,dock是一直显示的,可以参考本文最后效果图。而16的隐藏是...

2018-10-30 15:44:13 7648

原创 vm14卡顿及安装linux黑屏问题

因工作需要按照了vm运行Linux,当然按照64位系统了,vm14+Ubuntu18/16LTS都有,安装很简单默认点击下一步就完了,也很顺利。但是发现奇慢无比,我将系统移到C盘固态硬盘会好很多。我就纳闷了,vm又不是第一次用,怎么会如此慢,单击系统任何地方都得等几秒钟才勉强响应,硬件配置是完全够的4核CPU+8G内存+128g固态+500g机械硬盘等。好过以前的电脑配置太多了。所以直接排除”...

2018-10-30 15:05:43 843

原创 git常用命令及解析

本文是基于原教程地址学习后的一个笔记记录,感谢原作者的无私分享!github遵守开源协议,fork后的仓库代码可以读写,甚至可以pull request给官方仓库来贡献代码。1.git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。git config --global us...

2018-10-26 17:57:08 141

原创 Qt自己编写keyboad虚拟键盘

由于项目中有需要用到虚拟键盘,首先想到的是系统自带的,笔者是Ubuntu16+Qt5.9。1.系统虚拟键盘的优缺点:优点:直接可以脚本调起,功能完善,稳定。外观完美。缺点:定制麻烦(详情看onboard帮助文档,英文),要想像手机那样用时自动显示,不用时自动隐藏,需要先设置系统的输入法,而且需要GNome的辅助功能支持。2.Qt5已经有自带输入法了。Qt安装的时候就有一个virtu...

2018-10-24 18:53:32 17014 10

原创 Qt想用QLibrary动态加载库,遇坑!

最近写了一个小组件没错就是虚拟键盘,打包成动态库了,但发现一个小问题,就是QLibrary动态加载总有问题当然,在做下面测试的之前,肯定是需要保证自己的dll是ok的,右击工程添加本地库是正常执行了的。首先在pro文件中即使添加库路径如下LIBS += -L$$OUT_PWD/../keyboard/debug/当然我删除了-lkeyboard,因为我要用QLibrary::load...

2018-10-24 17:56:04 4401 6

原创 ubuntu 16.04 关闭开启图形界面之systemctl命令

ubuntu16.04关掉图形界面启动,命令:systemctl disable lightdm.service确实生效了,但是由于不能显示笔者的应用程序(QT界面程序),系统一直卡死在启动界面,还不如进gnome界面了,故又想恢复,发现恢复之路坑太多了。1.因为界面卡死,是不能用输命令的,所以只能且系统模式,好在ctrl+alt+f1还是能用的,进入文本模式。2.百度systemct...

2018-10-23 16:38:53 6228 1

原创 QT5中Model/View模型的使用

该文章不对model/view的初级使用做解释qt引入Model/view结构,目的是为了提高传统QTabelWidget等的大数据刷新的效率。既然是为高效率显示而设计的,我们使用时就需要对其设计思路做了解。view的继承模型如下图:model继承模型如下图:结合两个类继承图,我们可以看出Model/view是完全分开设计的,目的就是解耦合,Model只做数据管理,view...

2018-09-30 14:50:31 17635 4

原创 libreCAD使用

维基百科libreCAD是QCAD的一个分支,由qt开发的一个免费开源跨平台2D CAD应用,该工程使用了libdxfrw库,所以支持dwg文件的读写。详细介绍参考维基百科。1.下载libreCAD源码github开源地址2.编译用qtcreator打开工程,发现如下图所示:工程提示信息:需要c++11标准支持,需要boost_1_53_0(需要格外下载)支持,以及自带...

2018-09-06 11:46:00 13783 6

原创 安卓x86下载地址

由于Google访问不了国内下载安卓x86可以去这个链接,支持迅雷:fosshub安卓x86下载系统安卓教程可参考搜索引擎如一下链接安卓x86安装android x86安装

2018-08-29 20:02:17 3612

原创 Linux 屏幕亮度调节

Linux屏幕亮度控制文件:amd/INVID显卡:/sys/class/backlight/acpi_video0/brightnessintel显卡则在:/sys/class/backlight/intel_backlight/brightness使用管理员权限改变该文件的值即可,最大值,可以看到该目录下又max_brightness文件...

2018-08-13 11:17:39 1693

原创 QT5如何打包到Ubuntu16

最近一个跨平台的项目打包折腾的够呛,所以记录一波。ldd 应用程序名可以查看该应用程序名下面的所有依赖库,所以该命令很重要。网上有人利用该命令去导出所以依赖库,附代码如下:#!/bin/shexe="./appname"#发布的程序名des="/home/myname/Qt5.9/"#目标路径deplist=$(ldd $exe | awk '{if (match($3...

2018-06-20 12:16:12 1492

原创 qt5.9中虚拟键盘的中文使用

qtvirtualkeyboard是qt基于qtquick的一个项目,源代码目录如下图:为何要提到这个呢,是因为本文想解释中文输入。否则只需在安装qt的过程中将qtvirtualkeyboard插件打上勾就能在qml工程中使用了。qtvirtualkeyboard工程包含例程,库,插件等。例程是basic一个简单的qml项目,库有多个语言库,在目录qtvirtualkeyboard\src\vir...

2018-05-04 11:59:10 6785 2

原创 Ubuntu/Windows使用glog(0.3.5版)

glog获取    git clone https://github.com/google/glog.git    或者直接网页下载下来,tar -xzvf google-master*.gzglog编译生成    如果是window平台,得使用CMake工具生成解决方案并编译生成相应的libglog.dll,libglog.lib本文不作赘述。前面以说过CMake的使用。    Ubuntu生成...

2018-04-03 20:08:42 1566

原创 CEF3的使用说明及CMake使用

一.CEF简介Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。简单说就是Chrome的开源版,目前很多所谓的双核浏览器,实质就是chrome+IE的双核。基于HTML5的支持,以及v8引擎的效率,在软件中嵌入chromium是个不错的选择,而且目前市面上应用...

2017-12-08 16:48:16 12194 5

原创 开发界面之窗口边框重绘

基于上篇已经解决了富图软件窗口child的效果。这边主要仿照其重绘边框——即活动窗口边框高亮,本文不讲标题栏/border重绘(难度是比Client绘制要难,但是社区也有人做了相应的demo),基于富图考虑,它不要标题栏,我们也用无边框窗口绘制就好了。1.边框及标题栏绘制void CDlgFrm::OnPaint(){ CPaintDC dc(this); // device cont

2017-11-24 11:00:35 1575

原创 子窗口与弹出窗口的坑使用笔记

之前写过一篇日志说child窗口edit不能输入。虽然解决了,但并不完美,后面发现能输入了,但是鼠标不能选择文字,键盘却可以。再加上以前遇到的一些问题,比如窗口透明,背景色,甚至子窗口的Z序也让人蒙圈(后创建的在后面去了)等都不顺利,换句话说是相对popup窗口而言。总之微软对于子窗口的实现就像个半成品。关于edit不能选择文字,还发现一个问题可以解决,就是去掉子窗口的标题栏,如果实在需要拖动

2017-11-21 18:31:54 676

原创 Ubuntu16.04:Python3+Nginx+Django+mysql+git配置,sublime text

1.安装python3sudo apt-get install python3如果是升级python到python3需要先安装3,然后删除/usr/bin/目录下的默认python linksudo rm -rf python再建立新的链接sudo ln -s /usr/bin/python3.5/usr/bin/python这样输入python命令就相当于输入python

2017-10-12 17:48:22 454

原创 Python学习笔记

作为一个C++程序员,学习Python,我想笔记还是没必要像写入门教程一样。入门教程可以参考廖雪峰学Python教程。1.Python是啥?Python是一种动态的现代编程语言,完全面向对象类似Java,但与Java区别最大的估计也就是Python还是动态运行的语言了吧——类似脚本语言(如:Javascript)。无需编译,直接通过解析器运行。2.Python特色:就凭“人生苦短,

2017-10-08 15:53:26 318

原创 CComboBox::ShowDropDown光标消失的问题

MFC中,当使用ccomboBox的输入自动显示下拉列表时,光标消失。原因是由于该控件是由编辑框和下拉列表组合的。当在编辑框中输入时,光标会变成输入模式,原来的cursor隐藏,当鼠标移动时才显示在新的移动后的位置(CEdit),而CComboBox不会显示。而且你会发现当鼠标移出程序时又能显示,感觉鼠标回到了桌面窗口。解决方法就是在OnCbnEditchange()做文本更改后,发生WM_S

2017-09-18 16:39:36 1254

原创 MFC状态栏设置图标自动变高

SetPaneIcon

2017-09-06 14:44:39 1000

原创 写MFC程序还是先注释写注册表或者先清理注册表吧!

血的教训,浪费了大把时间调试找问题,然而却不知道MFC自动写注册带来的巨坑有多坑。一次次让你怀疑人生,微软这个设计老子真心想拍死你。1.自动写注册表,这里说自动是创建工程自带SetRegistryKey将巨坑埋下伏笔2.注册信息不是空,讲道理应该为空,但老vc都知道软件保留用户操作习惯是默认的。3.注册信息奇多,含菜单/工具栏/状态栏/停靠窗口,,,似乎除了main  client

2017-08-04 18:45:26 1010

原创 mfc非模态对话框Child窗口CEdit控件获取不到焦点问题

遇到的问题就是创建一个非模态的子窗口。发现子窗口上的edit控件总是不能被激活,开始担心自己工程出问题了,于是新建了一个sdi,如图问题依然存在,既然如此那就在新工程中找问题,先设置对话框style,popup/overlap都能正常使用,再试试模式对话框(有点没必要,因为模式对话框不能是child)依然没问题,为了保守起见,还是多托几个控件靠谱,发现只有edit无效,尴尬。那就只能对edit下手

2017-07-25 16:25:20 3747 2

原创 由Create一个Child窗口,导出的z序问题

首先遇到的情况,直接看图看到这现象有点怀疑人生,Windows默认Create顺序是按照Z序依次递增的,然而为何会出现如此现象?首先和窗口类型确实有关:用的是Child,如果使用popup/overlapped都正常,我们通常非模态对话框用overlapped最多,这次要做子窗口管理,才发现有如此问题。考虑在窗口类型上选择:层叠/弹出/子窗口。选择Child类型是必须的(根据需求)。于是想

2017-07-17 18:13:35 315

原创 由花屏引出的WS_CLIPCHILDREN,WS_CLIPSIBLINGS理解

WS_CLIPCHILDREN,使得父窗体在绘制时留出其上的子窗体的位置不去画它,而那片区域留着子窗体去画。WS_CLIPSIBLINGS,必须用于子窗体(Child),使得该子窗体在收到WM_PAINT时同时令其兄弟窗体(MSDN讲必须不在该区域,即不与之重叠)也会被PAINT。//下面也是对WS_CLIPSIBLINGS的理解所有的overlapped窗口和popup窗口,都有

2017-07-16 16:33:56 1837

原创 VC ScreenToClient与ClientToScreen

The ClientToScreen function replaces theclient-area coordinates in the POINT structure with the screen coordinates. The screen coordinates are relative to the upper-left corner of the screen. Note

2017-07-14 11:24:07 989

原创 关于Windows、linux跨平台的一些建议

在你做跨平台开发时,难免会遇到一些因操作系统特性带来的麻烦。本文集聚部分,并以Windows,linux为目标平台分析。由于java,Python等语言基本锁定自家编译器、IDE,也就没有C/C++这样的麻烦了,本文还是以C/C++为主。1、  关于路径和头文件路径分隔符的问题在Windows中,正斜杠和反斜杠都可以,但是在Linux中,只能是/。在Windows中,路

2016-10-11 14:57:55 3169

转载 QT 的信号与槽机制介绍

信号与槽作为 QT 的核心机制在 QT 编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念、元对象工具以及在实际使用过程中应注意的一些问题。

2016-09-06 18:19:01 294

原创 QT多语言翻译工作

qt自身对多语言支持很方便

2016-08-10 16:12:28 391

vkimQt5虚拟输入法源码

注意win平台,编译没问题,但是运行不支持,Qt5+Ubuntu16已测

2018-10-24

三种CheckComboBox控件

基于老外的CheckComboBox,因业务不满足,自己另外修改封装的两个控件。一个可输入,一个不可输入,支持checkAll,显示内容更改等。

2018-01-09

CEF3使用说明-中文

找到的较好的资料,现在都最低分2积分下载了吗?反正我没发现免积分设置,就这样吧

2017-12-08

powershell自己写的一个小例子

因为近期项目中有用到,所以自己大概总结几个常用的做参考,只适合入门的人

2016-08-04

NSIS中文手册

NSIS是好东西,此文档仅供学习参考。

2015-12-23

tinyxml说明文档

对tinyxml结构及简单使用做说明。适合初学者的学习

2015-12-01

侯捷扫描版-STL源码剖析

这种扫描版的就应该免费,何必坑下载积分。注意:全,但是扫描的

2015-02-09

自定义控件实例

初学者可借鉴实例,不多说

2014-08-05

vc经验总结

chm格式,分基础类、非技术类、界面、网络编程、数据库、图形处理等等。纯属经验之谈,不错

2014-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除