博客

  • Qt qml程序win11下的部署

    编写的一个桌面程序,在之前的win10、win7都能够正常运行,但是最近有部署win11的需求,反复测试都不能正确运行。

    于是开始分析整个流程:1.先使用qcreator新建一个widget程序,可以正常运行,表示qt c++ 部分是没有问题的。2.然后使用qcreator新建一个quick程序,可以正常运行,表示qt qml部分是没有问题的,再此已经排除语言及IDE的问题。

    接着排除自己源码中的问题:1.先删除所有的第三方库调用部分,城区可以正常启动,可以确定问题出现再第三方库的调用上。2.分别删除各第三方库, 我的运气比较好,第一个删除后,程序就可以正常启动了, 更好的是删除的库是目前还没有用的库,是一个备用的型号驱动。3.编译,打包。

    本以为到此问题已经解决,但是当我双击exe打算运行的时候,悲剧了!!!竟然还是不能运行。这个时候的现象就是在IDE中可以正常运行,但是单独exe搭配deploy部署的程序不能运行。

    于是开始了各种找问题,因为之前的程序主要是使用的widget,现在改成了qml,这里首先怀疑qml的库是不是没有部署完。查看deploy的配置命令:

    C:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe   .\packages\com.tester.root\data

    可以看到,目前的部署命令是没有qml相关的。我们需要加上qml相关的目录信息。

    C:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin\windeployqt.exe   .\packages\com.tester.root\data  -qmldir C:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml

    自动部署完之后,手动复制我们调用的第三方库,双击exe运行,程序还是不能运行,之后反复查询用各种工具,也不能查到原因。最后在qcreator中看到有dll加载的日志,于是手动一条一条的扒日志,最终落在了C:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml\qt\labs\platform目录中。运行的过程中,发现platform中有dll调用的记录,但是查询deploy自动部署的dll中,缺少该dll目录,于是手动复制程序目录下的qt\labs\platform目录。重新运行程序发现程序终于可以正常运行了 。

    虽然说这是一个很小的问题,但是解决的过程也用了我将近8个小时,也是相当长的时间了。

  • 嘉士伯电子鼓

    家里小朋友要学架子鼓,为了能让小朋友有练习的条件,只能买一套鼓,但是一套普通的鼓也很贵,更重要的是真的太吵。于是我开始研究电子鼓,在查了实际价格之后,果断决定还是买个二手的。于是在转转、咸鱼的平台上搜索,终于找到一个合适的,原件3999,二手价格500。而且也是在西安,于是我就取了回来。回来之后摸索安装好之后,当时就发现音量旋钮比较奇怪,只有大音量和没声音,不是线性的。当时没有太在意,以为设计就有问题。

    直到最近,整个设备没有声音,接上功放后完全没有声音,我各种方式排出,确认线缆和功放音箱都没有问题之后,只能确定是电子鼓的控制器有问题了。于是在插入耳机之后,耳机可以隐约可以听见有声音,这个就是说明音源是好的,只是信号放大部分有问题。

    于是我拆开控制器,仔细量了各电路部分的电源供电,发现各个功放芯片的供电均为正确状态。再结合之前的音量问题。最终将故障怀疑点定为到音量电位器。使用淘宝的拍照搜索功能,定为到同型号的电位器。如下图:

    这个可以很方便的拿到电位器六个脚的定义如下:

    于是按定义量各个管脚的阻值,发现电阻阻值不对,这里也就定位了问题,但是手头没有,那也不能说就这么不能用呀。确认电位器的总电阻位50k,于是我用30k电阻串联20k电阻。先这么用着,可以让鼓正常发声,虽然不能调声音大小。但是可以发声也是不错的。先凑合用,在淘宝上买了可用的型号,等着回来修。

    收到电位器后,发现有点小瑕疵。我为了防止选错,专门买了两种柄的样式,结果卖家发货的时候发来两个一样的,关键这两个竟然都错的,没办法,本身就是不值钱的东西,于是这个柄也是自己手动削了,削出一个合适的大小缺口,刚好符合帽的尺寸。

    最终电子鼓正常发声,声音可以顺滑调节。但是有一说一,手感跟原装还是差点的。

  • 农用微型旋耕机维修

    社会的发展,农业也伴随着发展。发展也就带来了生产工具的改变,农村人也要赶时代的脚步。

    于是我18年给家里买了一台微型旋耕机,就像这样:

    买过之后,亲朋邻居也陆续照我的标准买了几台。几年过去了几台机器全部换了发动机,还有的换了变速箱。这既有工况比较差,尘土大,负载大,保养差,大多发动机机油不足造成。但是这个确实坏的有点太普遍了。

    之前一直没有时间去仔细研究,变速箱坏了换整个变速箱,发动机坏了换整个发动机,没有深入到零件级的。

    直到有一天我突发奇想,想把发动机零件级的维修一下。在仔细分析了坏掉的发动机的症状,“启动不了,启动手柄拉不动”,虽然没有拆修过发动机,但是结合我所了解到的发农机原理,我大概也能猜到里面的内容。能够磨损的就那几个地方,曲轴、连杆轴瓦、活塞、缸筒。大概查了一下资料,发现这种发动机是没有缸套的,缸筒也就是机体。其余几个东西也都很便宜。于是,我就买了一套连杆轴瓦、活塞环。很便宜,二十多包邮,贵的我都买不起。。。

    零件回来后就开始拆原来的发动机,这里出现了小插曲,因为连杆轴瓦卡死,不能拆下来。我又买了往复锯用来锯断连杆,以方便曲轴和活塞的拆卸。

    最终终于成功将所有的零件拆下来,这个过程中发现了几个有意思的设计。

    1.曲轴转两圈,要配合凸轮配气装置需要完成进气-压缩-做工-排气四个状态一个循环,只需要曲轴上的齿轮,齿数是凸轮轴齿轮齿数的两倍即可。

    2.在发动机内部有一个负反馈装置。在曲轴的带动之下,可以带动一个配重块甩出,顶起油门拉线,将油门减小。

    3.点火时机的控制不需要什么复杂的装置,只需要将线包放到需要点火的角度,这里有意思的事,不需要关注具体的事做功阶段还是吸气阶段,只需要在同样的点点火,这个没啥问题。

    装配的过程比较有意思的是活塞环的装配,活塞环需要一个锁紧装置压缩起来,才能压入缸筒,这里需要我们用铁皮自制一个治具,方便我们压入缸筒。

    最后一步,我因为没有买缸垫,这个时候就要凑合自制一个缸垫了额,这个也不是什么难事,只需要用纸板自己剪一个。

    最终的结果就是发动机成功发动,可以突突了。这个不错,又掌握一门手艺。。

    因为在老家修,没能拍照和录像,算是一个遗憾,但是也不算大问题。经验已经积累了。