自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

恩小习 是一只程序猿

没有方向,只能向前。

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 QT播放Wav音频并显示波形

1、前言因为项目需要,做了个小工具来做前期准备。这个需求实现两步:播放和显示波形。播放方面,一开始选择FMod,小工具快做好的时候偶然发现FMod需要商业授权,所以只能放弃。试了试ffmpeg+SDL又觉得大材小用过于复杂(主要是对编解码这一块有点畏惧)。最后才发现QT自带播放类其实已经满足需求,最后播放就交给QMediaPlayer。由于显示波形需要放大平移等操作,自己实现起来很费时间,所以选择现有的图表工具。目前可选的有QWT和QCustomPlot。由于QWT配置起来比较麻烦,所以显示

2021-08-26 22:11:14 4370 4

原创 QT笔记:同类型程序只能运行一个

由于NSIS实现自定义界面,以及把安装包和升级包合并太过复杂,在各种尝试失败之后决定自己写安装包和卸载包。原本项目中已经有一个让程序只运行一次的代码,使用QSystemSemaphore和QSharedMemory实现的。 QSystemSemaphore sema("Key",1,QSystemSemaphore::Open); sema.acquire();//在临界区操作共享内存 SharedMemory QSharedMemory mem("Object");//全局

2021-03-22 20:11:56 732

原创 QT:moveToThread与信号与槽机制的第五个参数Qt::ConnectionType

原来对QThread的理解,就是重写run(),曾经还一度搞不明白,到底它的槽属于主线程还是子线程。后来学了MFC,一度觉得MFC的机制比较人性化,起码有工作线程和界面线程的用法,而不像QThread只有run是真正活在子线程里面的。而直到今天再次研究QThread,发现QThread有很好的功能void QObject::moveToThread(QThread*);先上代码:w

2015-12-31 16:59:57 3795

原创 MFC笔记:TCP Socket通信

要说起来,这个才是我第一个接触的MFC项目,想想当时第一次真正自己写MFC,连VS都还不太会用,然后网上下下来别的大神写的例程,都觉得超级深奥,所幸这段难熬的日子终于过去了。  socket在培训时候学QT用过,在Linux和在Windows下原来基本是一样的,只是函数调用上会有所区别。个人认为相对难一点的是CAsyncSocket和CSocket这两个类的选用,理论上来讲就是异步和同步的

2015-08-21 09:10:03 8429 9

原创 MFC笔记:关于透明和渐变

同样是菜单项目用到的,本来想做半透明和渐变的菜单,但后来由于各种原因只能放弃,简单记录一下要点,以备以后再用。1、CDC画半透明(用于菜单项选中时候的选择色)int nAlpha = 100; // 透明度,在0~254之间取值,越大越不透明 BLENDFUNCTION stBlend = {AC_SRC_OVER, 0, nAlpha, 0};

2015-08-21 09:10:00 3270

原创 MFC笔记:从资源文件获取字体

做菜单的时候遇到的一个问题,为了匹配菜单风格,需要一些特殊字体,但是客户的系统里面不一定会有这些字体,而我也不希望我们软件的字体会出现在客户的字体菜单中。因此找了个让字体加载进资源文件,从资源文件读取字体的办法。void NMenu::InstallFont(){ m_resourceFont = NULL; HINSTANCE hResInstance = GetModul

2015-08-21 09:09:58 3564

原创 MFC小练手:详解自绘右键菜单(继承CMenu)

也许女生被人感觉审美观会好点,所以第一个任务就是设计一个菜单。  而我的审美观觉得我做的东西都不会很colorful,因为我是个素色主义者,平日里穿的衣服裙子都是黑白灰红的深女风。(咳跑题了)  于是我做的东西都是十分简约的扁平化设计。但是问了身边的朋友,貌似女生更能接受这种风格,男生貌似认为xp那种左边有条蓝边的更好看,我表示十分不能理解。废话一大堆,入正题吧。  从网上

2015-08-21 09:09:55 6175 5

原创 QT在Windows中的技术总结(四):做整套自定义程序窗口

ps:请跳开吐槽从红色字处看起。。。。。。        好久没更新这里了~某一部分原因是懒了。。更重要的原因,是在之前写(三)之后到现在,项目不断地发生不同情况~        之前某工程师说,另外一个工程师说另一个东西比较急用,可不可以先做那个,于是向老板申请了,然后老板也批准了,然后就停掉手头上那个转去做那个,然后做了两个月,后来公司搞体系考核,我又忙于画各种产品的工程图纸,然后

2015-08-21 09:09:47 6411

原创 QT在Windows中的技术总结(三):从生成exe到NSIS初级自定义打包详述

这主题本应该是最后才写的,但是这两天确实被它折磨得不行,所以忍不住先写了,所谓打铁趁热嘛。    其它的关于编程方面的总结,由于之前项目很赶,等之后我给程序写注释的时候再相应补上。    由于对Windows的体系什么的一窍不通,虽然之前在开项之前有对NSIS做了点功课,但实际打包起来却问题多多。昨天一整天绕了一个大大的弯子,只能说,不懂一个体系架构就直接编软件是真心伤不起啊。

2015-08-21 09:09:28 1274

原创 QT在Windows中的技术总结(二):sqlite数据库QT接口的应用总结

以前在Linux下使用sqlite 都是用到sqlite3.exe这函数的,当然这需要在Linux下安装sqlite3程序的安装包,这个就不再累述了(我也忘得差不多了。。。)   然而在Windows下,安装sqlite3貌似挺麻烦的,而且对Windows的陌生,使我我压根不敢碰Windows那些环境变量。   另外,我的项目是需要给客户安装使用的,太复杂我也不懂打包在安装包里面。 

2015-08-21 09:09:25 935

原创 QT在Windows中的技术总结(一):sqlite的备份还原功能(调用cmd命令模式)

由于公司在需要做QT项目,用于为产品(51单片机的)连接电脑打印串口信息。但我以前是学嵌入式的,只会用QT在linux下面写软件,但目前公司也只有我一个软件工程师,所以,我也只好在Windows下用QT编程了。。。网上关于QT在Windows下编程的资料很少很少,唯一我找到真正正正详细描述的昨天也已经被我转到了这里。貌似Windows下MFC才是王道,但也真真没时间学习,此文献给所以迫

2015-08-21 09:09:19 1866

原创 Win7无线共享wifi热点

注:此方法仅适用于win7本文虽为原创 但方法是google搜索到的 找不到原文出处了 抱歉1、在开始菜单输入栏输入cmd2、对cmd点击右键 选择 以管理员身份运行3、设置虚拟无线网卡:在命令行窗口中输入: netsh wlan set hostednetwork mode=allow ssid=JoysBoy.Net key=joysboy.net其中几个参

2015-08-21 09:08:59 380

原创 Qt的模态与非模态

模态、非模态1、非模态 Device = new Server_Device(this);Device->show();//父窗口可被操作 当close();后 仍可show()出 使用this->setAttribute(Qt::WA_DeleteOnClose);//可使窗口在close();时释放2模态在子窗口中Device = new Serv

2015-08-21 09:08:53 769

原创 QT子窗口在父窗口上显示

之前做测试的时候试过忘了记录保存又再找一遍 所以还是记起来吧 项目服务器需要左边是菜单,右边显示不同菜单界面,总不可能都放在同一个窗口中吧于是上网找到了这种方法1、在点击触发某个槽函数以后,创建一个窗口Log= new Server_Login(this);//创建一个窗口Password->hide();//上一个窗口隐藏Log->show();/

2015-08-21 09:08:42 18087 2

原创 【ubuntu】QTE库编译错误

本人在ubuntu 11.04中编译出现的错误笔记 菜鸟一只 所以 其中可能出现很多输入手误 还有可能出现原理性错误 如有高手发现 可在评论指出 不胜感激编辑脚本:#qte源码解压路径/root/build_qt/qte#tslib安装路径 /share/tslibexport CPLUS_INCLUDE_PATH=/usr/local/arm/4.

2015-08-21 09:08:34 617

转载 ubuntu执行 apt-get install出错:正在读取软件包列表... 有错误!

搜索出来的笔记。。。 ubuntu执行 apt-get install出错: 正在读取软件包列表... 有错误!E: Encountered a section with no Package: headerE: Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_natty_ma

2015-08-21 09:08:24 1717

MFC TCP多客户端通信(基于CAsyncSocket)

一个简单且简陋的小测试程序,支持服务器对某客户端,服务器对所有客户端,客户端之间的通信。TCP Socket基于CAsyncSocket的非阻塞异步通信。效果图详见:http://blog.chinaunix.net/uid-28394603-id-5163195.html

2015-08-17

空空如也

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

TA关注的人

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