- 博客(44)
- 资源 (5)
- 问答 (4)
- 收藏
- 关注
原创 qml实现不同的模块之间相互通信
QML在模块内通信是通过id来访问控件或者属性,但是不同的模块间该如何实现相互通信呢?但是如果想在下级模块想控制上级模块的属性或者动作就需要用到另一种方式就是信号的方式。在这个例子中,我们假设有两个QML模块,一个称为"发送信号的模块",另一个称为"接收信号的模块",它们位于共同的父级组件内。中,我们将信号与一个处理函数(槽函数)连接起来,以便在接收到信号时执行相应的操作。,并在需要发送信号的地方发射该信号。然后,在"接收信号的模块"的。首先,我们在"发送信号的模块"中定义一个信号。的处理函数连接起来。
2024-03-15 15:57:30
390
原创 QML中计算时间差和日期显示格式为00:00:00
定时器开始后我们需要将得到的时间转化成秒数,因为 此时startTimer的格式应该是00:00:00格式的字符串,是不能直接相减的。先将开始和结束的时间的时分秒分别相减,得到总秒数然后再计算当前秒数对应的小时和分钟秒数。这一步时间差已经计算出来了,但是时间的格式是0:0:0这个格式其实不是很友好所以要把当前的格式转换成00:00:00这样的格式。首先需要确定开始时间和结束时间,我们先用当前时间作为开始时间,然后在定时器实时更新结束时间,这样时间差就是动态变化的。
2023-09-08 16:57:14
412
原创 QT 在Windows下显示中文乱码的问题
前一段时间刚刚使用qt在显示表格数据的时候,发现输出中文是乱码的。比如在显示字符串加上变量输出的的时候一般在MFC方法有很多,但是在QT上初始化字符串加上变量的话就得这么写QString("第%1跟").arg(16-i);但是这样的话,中文就会乱码,所以用下面的方式来写。当然qstring里面还有很多静态方法能够使用的但是功能可能不太一样。QString::fromLocal8Bit("第%1跟").arg(16-i);其他的方法由于暂时没用到所以暂时就想写这一个希望能够帮助遇到中
2023-07-03 13:12:11
372
原创 qml 使用Shape 画图形
最近在做项目的时候想这实现一个能够根据相对位置动态改变大小的进度条提示框,偶尔发现了一个很有用的组件Shape这个控件里面可以画各种线条,实线虚线矩形三角形圆角的三角形或者各种自定义形状。下面提供一个2条虚线加上一个矩形的小栗子。更多的自定义形状还是请自行钻研。dashPattern: [1, 3] // 设置虚线的样式。dashPattern: [1, 3] // 设置虚线的样式。上面这个例子如果用js 实现代码量不敢想象,用这个控件看起来非常简单。
2023-05-26 17:14:01
1899
原创 qml 部分控件的实际应用 button 进度条
按钮:一般情况下大家都会想到使用qml 的原生的控件,BUtton 但是要是实现复杂一点的按钮,Button 的局限性就显现出来了。所以本人还是是使用其他控件模拟了按钮的效果并且效果还是不错的。上面的代码是用Image作为图片的显示控件,然后MouseArea处理鼠标事件。
2023-03-28 17:51:30
191
原创 qml的进度条
3. 设置ProgressBar对象的background属性为一个Rectangle对象,并设置其color属性为一个JavaScript表达式,这个表达式可以根据需要计算出背景颜色。4. 设置ProgressBar对象的contentItem属性为一个Rectangle对象,并设置其color属性为一个JavaScript表达式,这个表达式可以根据需要计算出前景颜色。- value:表示进度条的当前值,范围是0到1,默认值是0。- from:表示进度条的最小值,范围是任意实数,默认值是0。
2023-03-03 15:11:35
1364
原创 解决QT QMetaObject const * __cdecl xxx::metaObject(void)const “ (?metaObject@xxx@@
具体的生成格式大概是:CMD进入到moc.exe所在目录,然后执行,moc.exe 你要生成的.cpp的路径 (注意一定要写明你的.cpp,如xxx.cpp),-o 你要生成.moc文件的路径,一般都是跟.cpp放在一起的。一、在你的.cpp文件中是否有使用Q_OBJECT这个宏,如果有相对比较好处理,因为如果你在.cpp文件中使用了这个宏那么可能是你在cpp文件中定义了类,并且使用了qt 的信号和槽,那么就会出现上面的情况。所以就会报上面的错误。当然要想不出现这个问题,最好是不要在.cpp里面声明类。
2023-01-17 13:51:43
947
原创 qt Create 编译时出现的问题
最近由于合租的房子里有人去过疫情区域所以同屋的人都要进行7天的居家隔离。所以就把代码拷到家里写,然后隔离结束后由于修改了项目的dll文件和lib文件所以在重新编译的时候遇到一个问题就是提示新添加的接口无法解析,本着严谨的态度还是反复检查了dll接口还有头文件确保已经加到项目里了,可以编译后一还是不行,在经过反复生成替换后还是不行。无奈请假其他同事,可是还是不行。没办法只能上百度找找虽然上面都是一群复制粘贴的但是也有点用,至少提供一点思路。就是在确定库代码本身没有问题的情况下,这种问题一般都是编译目录的问题导
2022-07-01 10:44:13
183
原创 Duilib 拖放按钮时获取当前按钮和拖放位置的布局名称
最近由于公司要换界面 库所以想起了我之前用过的DUIlib 虽然之前也没有多深入但是能趁着这个机会把这个库用好。这个库由于网上版本较多,所以选择了旗舰版的一个分支,到目前还不错。功能其实比较简单,就是窗口有一排按钮要将按钮拖放到一块区域内然后根据按钮名创建对应得节点,这个功能在MFC 上其实很好实现,我这里有现成的例子,但是DUILIB虽然消息跟MFC 一样但是毕竟两个界面库肯定不能像MFC 那样做。好在这个库比较成熟了提供不少机制。这个问题其实也困扰了我好几天,首先按钮类要实现拖拽的效果并且加移动的阴影,
2021-05-26 17:03:27
280
原创 duilib 添加自定义list一例
最近公司要换UI界面库所以就用了duilib,因为本人之前用过但是由于时间太久没用了导致之前很多控件的使用差不多忘记了。这个帖子做个记录下次忘了可以看看。因为duilib 这个库对扩展还是比较友好的原版提供了不少的例子可以参考,没事看看官方的例子其实也能有不少的收获。这里要说一下我用的版本是以旗舰版的基础上重新改过和封装的,所以功能上差不多。首先我的需求其实很简单,要求每个节点上有一个COmbo控件然后加上编辑框但是由于原版的list其实并不能满足一般的需求其实,大多数 情况下咱们都需要重写list
2021-05-21 10:33:51
611
原创 网易云信DUIlib 使用小记
网易云信的duilib跟原版不同地方是原版的DUI 如果你想处理按钮的点击事件和其他控件的事件直接在Notify 函数中响应就行了,而云信的diuli定义了一个EventType事件类型的枚举里面涵盖了大部分控件的消息,AttachBubbledEvent()的第一个参数就是需要你自己需要响应的消息类型,比如kEventClick消息就是所有控件的单击消息,const EventCallback& callback) { OnBubbledEvent[eventType] += callbac...
2021-04-22 13:34:48
1650
原创 Combox的GetLBText();遇到的问题和解决方法
最近有个项目要结束但是测试的时候发现一个问题,就是点击Combox的时候偶尔出现程序卡死,找了半天最后定位到GetLBText();的函数上,发现当你在选择索引或者Combox获得焦点的时候GetLBText都会执行到,正常的值肯定没有我问题,但是如果你GetCurSel的时候获取的是-1的话,GetLBText就会崩溃。原因也是因为写代码的时候不严谨因为正常GetCurSel后会加一个if(nsel!=-1)这样才不会出现这个问题,就是懒了没写导致这个问题,虽然是个小问题但是却浪费了好长时间。写这个文章也
2021-03-31 09:00:17
771
1
原创 vs调试技巧:for循环次数过多时如何让条件在某个值得时候停止
大家在调试的时候一定遇到过for次数过多,但是每次当条件达到某个值得时候才会触发问题,但是由于次数过多所以我们又不能一直F5那样的效率就太低了,循环次数少还行多一点我估计就算你能数的过来,你的键盘也会抗议的。所以vs有一种可以直接调试的方式,首先在for内设一个断点,位置最好在开始的位置,然后选择下面的断点界面,选中你刚刚设置的断点在条件标签下面单击右键弹出的选项选择条件会有一个窗口在这里填写当条件变量的值,也就是当I==140的时候触发条件这个时候按F5当循环满足你所设置的条件的时候这个断点就会生效,
2020-11-12 10:01:05
6577
原创 GDI+ 在OCX控件中不能正常加载图片资源的解决办法
由于第一次使用这个库,所以出了问题第一时间肯定是百度一下,但是发现针对OCX和GDI+的问题基本上都是关于初始化的问题,像不能显示图片而鼠标放上去会出现一个黑色底色的问题几乎没人提出,不知道是不是因为我太菜了。在加入到OCX 控件之前我习惯在正常的窗口中先试试,结果是可以用的所以把代码加到OCX发现事情并不简单,在排除了没有初始化的问题后,我注意到虽然不报错,也能跑起来但是就是看不到画面显示,奇怪的是在鼠标经过按钮的位置时竟然出现了黑色东西,于是我怀疑是不是图片根本就没有加载,经过调试发现果不其然在加载资源
2020-09-16 09:45:25
283
原创 CButtonST 按钮类这只按下去不自动弹起的功能
刚刚开始使用这个按钮类都说这个按钮非常强大,但是由于文档不全所以具体实现的效果需要自己踩坑,由于需求突然要求把按钮改成按下去不要立即弹起再次点击才弹起来,所以就在网上找但是由于需求过于奇葩所以很难找到例子,没办法只能挨个试试果然让我给找到了而且完美匹配我的需求这个按钮类确实强大。其实很简单就是一个函数SetState(true为按下,false为弹起)然后在配合设置2个状态的图片效果完还是很完美的。就这么一个小函数浪费了好久不过也值了总算找到了。效果我就贴上来了大家自己试验吧,...
2020-07-29 16:37:54
582
原创 如何判断鼠标在窗口的那个控件上点击了右键?
这个功能是我在做项目的时候的一个需求,这里有12个按钮,每一个按钮都要单独响应一下右键点击的消息。其实就是判断到底在那个按钮上点击了右键然后做不同的处理。废话不说了直接上代码吧PreTranslateMessage(MSG* pMsg)首先要响应这个消息(pMsg这个指针保存许多有用的信息比如hwnd 就是被点击的窗口句柄也就是按钮的句柄,message当然就是右键点击的消息了WM_RBUTTONDOWN,wparam具体没有用过,LPARAM 是高位是x,低位是Y这个坐标是在当前控件的矩形范围内的x和
2020-07-14 15:13:16
752
原创 DBU时崩溃提示occcnt.cpp第925出错的问题解决办法
今天周五本想好好把手里的活赶紧赶一赶,周末能睡个懒觉没想到一个小小的失误直接浪费了我小半天的时间,因为我之前还运行了一下程序并且做了一点改动,没有达到预计的效果但是 我都把代码还原了,所以开始没有根本没有想到是自己无意中用360清理了垃圾导致的问题。因为昨天我们组长说让我把项目的标题栏的部分重新写一下,然后我就查了一下相关的资料准备看一下怎么改,查了半天发现效果都不行正打算放弃。想试试别的UI库来做,然后想验证一下程序是不是正确结果一运行出现问了。直接提示OCCCNT.CPP名字应该是这个第925行错误。我
2020-05-22 16:50:32
471
原创 关于DLL文件的加载方式和不同
DLL(DynamicLinkLibraries)专题:比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也...
2020-03-26 07:37:17
688
转载 关于C/C++的STDCALL和_cdecl调用约定
动态库输出函数的约定有两种:调用约定和名字修饰约定。1)调用约定(Callingconvention):决定函数参数传送时入栈和出栈的顺序,由调用者还是被调用者把参数弹出栈,以及编译器用来识别函数名字的修饰约定。函数调用约定有多种,这里简单说一下:1、__stdcall调用约定相当于16位动态库中经常使用的PASCAL调用约定。在32位的VC++5.0中PASCAL调用约定不再被支持...
2020-03-26 07:36:19
803
原创 C++的this指针作为参数的小栗子
其实this指针对于C++的程序员来说那是在熟悉不过了,作为C++与C的重要区分特征this指针不仅可以在类的内部使用,还能作为类的成员函数的参数使用
2019-12-19 11:08:34
993
原创 VLC 播放器开发的SDK
http://download.videolan.org/pub/videolan/vlc/3.0.0/win32/最近想试着自己写个播放器看看,于是选择了VLC 但是找不到sdk 这个是我千辛万苦找到的。
2018-02-23 12:14:22
1976
1
原创 Duilib 界面库的窗口类型和实现方法
弹出式窗口(一般窗口)新建类继承WindowImplBase然后实现基本的三个成员函数virtual LPCTSTR GetWindowClassName() const;virtual CDuiString GetSkinFile();virtual CDuiString GetSkinFolder();以上三个函数必须要有virtual void InitWindow(
2017-09-25 10:01:23
752
原创 DUIlib 实现渐变上升动画
预备知识http://www.cnblogs.com/haomiao/p/5046578.html这个文章给了我很大的启发。
2017-09-15 12:31:35
1574
原创 从数据结构树
树的遍历方式有三种:中序遍历:先遍历左边叶子节点然后是根节点 最后是右叶子节点后续遍历:先遍历左叶子节点然后右叶子节点最后遍历根节点先序遍历:先遍历根根节点,然后遍历左叶子节点,最后遍历右叶子节点。
2017-08-26 00:02:02
196
原创 MFC 小游戏之连连看
最近在找工作因为没有什么拿的出手的项目所以就想做一个小游戏。因为连连看比较熟悉所以选择这个游戏。这个游戏也是很好玩的,点击相同的图片如果两个图片能够通过直线或者一个折线或者两个折线相连的话,那么就消除这个图片并获得相应的分数,但是2个图片之间不能有其他的图片存在。首先,使用的图片是LOL 中的英雄图标格式是bmp格式的尺寸是64*64的数量是30个。那么在生成地图的时候就要注意,矩阵必须是
2017-08-25 23:04:00
1418
原创 OPENcv 学习笔记
载入一张图像使用的类是Mat 方法是Mat M=imRead(“图像的路径”);创建图像 Mat m1=Mat(cvSize(w,h),M.type());缩放图像 resize(iplimg//原图像, destImage//缩放后的图像,czSize//图像大小, CV_INTER_CUBIC);显示图像使用Imshow(“窗口的名字””M);#include "std
2017-08-18 00:41:56
251
原创 使用opencv打开笔记本摄像头
opencv版本是3.10.0系统是win7x64位工具是vs2013 刚开始用网上找的代码发现不能正常打开摄像头要么摄像头灯亮了一下程序就自动结束了,要么就是弹出选择视频源的界面然后点击也没有反应,最后发现原来代码过时了。之前的代码不能用 了所以重新写了一下#include "stdafx.h"#include #include #include using namesp
2017-08-14 11:34:43
9999
原创 视频笔记
Cpen 和DC画图FromHandle(对象)获取对象相关的类的指针GetSafeHandle(获取基类的对象指针)selectObject(DC或者字体画笔)Cbitmap类typedef struct tagBITMAP { /* bm */ int bmType; int bmWidth; int bmHeight; int bmWidth
2017-08-04 18:58:57
240
原创 MFC 控件的自绘一
必须要知道的消息处理 WM_PAINTWM_CTLCOLOR :在每个控件开始绘制之前,都会向其父窗口发送WM_CTLCOLOR通告消息,在该消息的处理函数中,可以设置控件显示文本的前景色、背景色以及字体。该消息处理函数还要求返回一个画刷的句柄,用于在控件具体的绘制之前擦除其客户区。绘制空间的三个步骤:zhixinNM_CUSTOMDRAW 这个消息可以让你在想处理
2017-07-30 23:23:22
1745
原创 MFC 各个窗口 控件的风格等
窗口样式WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)WS_CHILDWINDOW 子窗口(不能与WS_POPUP合用)WS_MINIMIZE 创建窗口拥有最小化按钮WS_MINIMIZEBOX 创建窗口拥有最小化按钮,须同时指定WS_SYSTEM样式WS_VISIBLE 可见状态WS_DISABLED 不可用状
2017-07-28 18:06:56
1437
转载 顺序存储和链式存储的比较
一:顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。它的优点是: (1)方法简单,各种高级语言中都有数组,容易实现。 (2)不用为表示节点间的逻辑关系而增加额外的存储开销。 (3)顺序表具有按元素序号随机访问的特点。缺点: (1)在顺序表中做插入、删除操作时,平均移动表中的一半元素,因此对n较大的顺
2017-07-26 10:49:17
3326
2
转载 MFC 控件使用之ListCtrl之一
作者:lixiaosan时间:04/06/2006以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn-----------------------------------------------------
2017-07-18 15:04:34
460
转载 MFC/控件使用个之TREEctrl
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的
2017-07-18 15:02:36
403
转载 MFC控件使用之一 ListCtrl的使用
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:LVS_IC
2017-07-18 15:00:58
2551
原创 MFC 多文档程序分割窗口
涉及到的类CChildFrame Cview CSplitterWnd首先新建一个类HDListView类继承自Cview类在CChildFrame 的头文件中添加一个CSplitterWnd 的成员m_wndSpliter;然后重载CChildFrame 的createClient()函数,添加如下代码CRect rc; GetClientRect(rc); // 获取客户
2017-07-17 16:23:39
2359
原创 线程间的同步
因为之前对线程的同步不是很清晰,并且也没有怎么重视,其实就是懒得动手,正好现在没事所以练习一下。首先用到的几个函数:HANDLE hThread=CreateThread(NULL, 0, Fun, NULL, 0, NULL);//创建线程(Fun的实现在下面贴出来)hMutex = CreateMutex(NULL, FALSE, "screen");//创建互斥量WaitForS
2017-06-27 22:18:25
204
转载 cocos关于内存方面的文章
有好几天没有写博客了,但是不知道该写什么因为这几天一直在做自己的小项目弄的有点乱 框架写完了现在就差最后的调试聊。期间遇到了一些问题由于是新手所以进度比较慢,在网上随便搜索出来的文章感觉不错,还没看完先收藏起来有时间再看。在C++中,动态内存分配是一把双刃剑,一方面,直接访问内存地址提高了应用程序的性能,与使用内存的灵活性;另一方面,由于程序没有正确地分配与释放造成的例如野指针,重复释放,
2015-06-03 00:08:35
391
FaVideoPlay.rar
2019-10-31
log4QT的数据库配置文件
2022-04-11
QT 如何是设置垂直表头
2022-03-11
NIM DUILIB 怎么进行多个xml文件的嵌套
2021-04-14
关于Windows抓屏的方式
2017-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人