- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 VNC自动填入密码
你有使用VNC控制数个windows平台的经验吗?输密码输到崩溃我用Postmessage写了一个小工具(exe),需要密码的时候,点一下就自动填充,十分方便.感觉科技才是第一生产力.
2022-03-08 15:51:44 588
原创 关于阿里云备案人脸识别的问题
现在的互联网公司收集私人数据都到了无耻的地步了吗?备案提交各种证件,照片还不行,非得要人脸识别.你说你是银行,税务等业务要人脸识别就算了,一家商业公司,哪来的底气非收集不可? 不给别的通道?本人每月要向阿里支付3000左右的费用,算了,搬迁服务器了,还好不是一家做这个业务.以政策为名,收集用户私人数据,总有一天会出事的,发文为证.当然,还有TX, 一个鸟样,也要人脸识别...
2021-07-07 08:47:57 1116 1
原创 [C++]类名加个括号是什么东东
先考考大家,下面的代码,编译得过吗?class MyClass{public: MyClass() { printf("MyClass\n"); }};int _tmain(int argc, _TCHAR* argv[]){ MyClass(); return 0;}关键点在于,有一行代码是这样的MyClass()来个更难点的,下面的能编译过吗?template <class T> class MyTem
2021-01-06 21:13:13 4420
原创 QT之QCompleter的用法[一] --- 最简单的使用方法
本系列包含3篇文章QT之QCompleter的用法[一] --- 最简单的使用方法(采用QStringListModel)QT之QCompleter的用法[二] --- 采用除了QStringListModel之外的其他Model(比如根据拼音查找汉字列表)QT之QCompleter的用法[三] --- 优化UI的显示本文讲解最简单的使用方法:QCompleter能实现自动填充功能,方便用户输入,提升用户的体验,一般和QLineEdit与QComboBox搭配起来使用.先来个最简单的示例:
2021-01-06 09:11:13 11269 3
原创 QT键盘消息
相对鼠标消息, 键盘消息显得要容易些.主要是继承并实现这两个函数virtual void keyReleaseEvent(QKeyEvent * event);virtual void keyPressEvent(QKeyEvent * event); 我在这两个函数里加了些代码,让用户的按键状态在状态栏中显示出来void MainWindow::keyPressEvent(QKeyEvent * event){ QString strMessage = QDateTime
2020-12-23 08:33:52 380
原创 QT鼠标消息分析
本文主要探索以下几个知识点:1.setMouseTracking的使用2.widget的鼠标消息会上发给父窗口,其机制是怎样的,怎么阻止这种行为(WA_NoMousePropagation的使用)3.WA_Hover有什么用,为什么有时需要这个.4.和Win32窗口编程的一些区别(不熟悉Win32编程的自动略过)先看看我们要测试的程序的样子:如上图所示,控件的父子关系为:青色对应的类为MyChildWidget紫色对应的类为MoveableWidget灰色对应的类为Mai
2020-12-23 06:46:46 837
原创 QT setMouseTracking没反应
今天用Qt Creator自动生成了一个窗口程序,想试试setMouseTracking,兴冲冲地写下了如下代码:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setMouseTracking(true);}然后,继承了mouseMoveEvent,打印一行日志void MainWind
2020-12-22 17:31:42 1536 3
原创 QT designer(设计器)快速编辑信号与槽(快捷键F3/F4)
本文抛砖引玉,介绍编辑方法,请各位看官举一反三,灵活运用.QT设计器可以让一个UI控件发出的信号与另一个UI控件的槽连接起来.举例来说,假设有两个控件,一个是SpinBox另一个是Horizontal Slider:a).当用户改变SpinBox的值时Horizontal Slider跟着动b).当用户拖动Horizontal Slider时SpinBox的值跟着改变.来张图你就明白了:怎么操作的呢? 不用写代码,直接在设计器界面里操作,如下:1.进入设计器2.按F4进入信号与槽编.
2020-12-20 22:33:33 3362
原创 QT实现托盘图标,弹出气泡消息(类似微信托盘)
本文介绍QT托盘图标和气泡消息的实现.效果图如下:本文参考的例子是SystemTray.7z,已经上传gitee,从版权申请来看,这个例子是QT官方的例子,我觉得写得特别好.原例子的所有UI都是动态创建的, 我修改成用QT设计器生成UI,这样做的好处是能够减少代码量,让初学者更容易看懂.////1.QT托盘图标//a)创建托盘QT托盘图标的主要的类是QSystemTrayIcon,创建的代码如下:void MainWindow::createTrayIcon(){ //菜单项..
2020-12-18 11:15:15 2396
原创 简要源码分析Q_PROPERTY
本文不打算像文档一样翻译Q_PROPERTY,而是从源码的角度来看看怎么使用Q_PROPERTYQT的PROPERTY官方的定义,为了保持格式,我特地截屏,如下毫无疑问, QT的moc系统对Q_PROPERTY有特别的处理,我们现在看看他处理了什么.首先,定义一个类Test,代码如下:class Test : public QObject{ Q_OBJECTpublic: explicit Test(QObject *parent = 0); ~Test();
2020-12-15 22:21:01 281
原创 QT实现多语言并动态切换
本文讲述在QT中动态切换多语言.我会动态生成一个菜单,这个菜单会列出所有的语言,用户可以单选一种语言,选择语言后,界面就会切换到指定的语言1.兜底的语言当一个语言(字符串)没有被翻译时,他会用你代码中的语言(字符串)来显示, 这个语言(字符串)就是兜底的语言.也就是说,如果你编码的菜单,字符串等用的是中文,我们就认为兜底的语言是中文如果你编码的菜单,字符串用的是英文,那我们就认为兜底的是英文.强烈建议,您用英文进行编码(兜底的语言是英文),我测试的情况是,如果用中文,生成的ts文件乱码!没测试Q.
2020-12-15 15:50:08 1540
原创 用qt designer“设计“出带圆点的单选菜单项
先放张图,也许我们要的是右边的样子,而QT设计器设计出来是左边的样子,那怎么样稍做修改一下,实现右边的效果呢?另外,据说,在很久以前,QT实际上是可以设计出右边的样子的,但后来QT设计器取消了这个功能.基础知识QAction一个action就是一个菜单项,或者是工具栏中的一个按钮,一个action里面可以保存文本,图标,快捷键,tooltips等等信息.action根据他所在的位置(菜单或者工具栏),会随遇而安,显示出菜单的样子,或者工具栏中的按钮的样子.用Designer设计出如下样子的菜单
2020-12-14 09:25:40 1051 1
原创 QT解决addToolBar后多出一个空白工具条的BUG
今天测试一个Toolbar的东西,写了如下代码:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); QAction* openAction = new QAction(tr("&Open"), this); QToolBar* helloToolbar = addToolBa
2020-12-13 11:39:52 627
原创 QT信号与槽的源码简要分析
信号到槽是QT的标识性特征之一.本文打算用简明扼要的源码分析,来告诉读者信号与槽是怎么实现的.不然要分析的太多,又复杂,会让人蒙掉----他说的到底是啥?本文讲述的是一个类MySender向另一个MyReceiver发信号,并响应的故事.先来熟悉一下宏吧,混个脸熟:# define slots# define signals protected# define emit //可忽略# define SLOT(a) qFlagLocation("1"#a QLOCATION)
2020-12-11 17:46:31 559 1
原创 QT4.8.6+mingw32+QtCreator3.3.0调试QT源代码
安装环境请参考:https://netpt.net/forum.php?mod=viewthread&tid=36直接上方法了:菜单: 工具->选项->调试器先点"添加Qt 源码...",选择C:\Qt\4.8.6\src然后修改第一行的设置设置如下(请仔细看清楚了)上面是:C:/iwmake/build_mingw_opensource下面是(这个路径不包括src):C:\Qt\4.8.6\然后就可以调试QT源码啦!效果如下:如果你一定要问为什么,参考:https.
2020-12-10 16:09:47 293
原创 QT4.8.6+mingw+qtcreator4.13.3 搭建环境+调试QT源码
本文测试环境: win7x64由于考虑到跨平台的原因,本安装不基于visual studio的插件来安装,这样的开发环境和linux更接近.三个文件请准备好:i686-4.8.2-release-posix-dwarf-rt_v3-rev4.7zqt-creator-opensource-windows-x86-3.3.0.exeqt-creator-opensource-windows-x86_64-4.13.3.exe可以在这里下载https://pan.baidu.com/s/121uVV
2020-12-10 16:03:30 691 1
原创 QT使用菜单并加上图标和快捷键
仿照windows的记事本,做出来大概是这个样子实现的功能有:1. 用鼠标点击或者按ALT + F 可以弹出菜单2.弹出菜单后,按键盘N或者点击菜单可以执行对应的动作3.直接按CTRL + N快捷键也可以执行对应的动作.现在就一步一步开始吧:A)进入设计界面,输入文件(&F)并按回车键此处的&F表示,用ALT + F可以弹出菜单来,这和mfc是一样的.B)进入子菜单设置,输入新建(&N)并按回车键注意,这里有一个插曲,我是输入不了的,只好在记事本里...
2020-12-09 15:39:32 525
原创 QT中修改窗口的标题和图标
修改窗口标题QT的窗口默认名字是MainWindow,在这里介绍两种方法修改窗口的Title1.直接通过UI设计器修改:我修改成了"我的窗口"运行后,显示如下:好了,我们需要去找下,"我的窗口"这个字符串被QT放在哪里的?用文本编辑器打开mainwindow.ui,可以看出,实际上是放在这个XML里面了这个XML文件会被编译成代码(C#也是如此,不知道他们谁COPY谁)找到build-ModifyTitleAndLogo-unknown-Debug\ui_mainwind
2020-12-06 12:44:54 30237 2
原创 VS中使用ComboBox的基本使用方法(遍历并删除指定条目)
假设我们的ComboBox有两个条目下标0----abc下标1----123如果想得到下标为0的值,有两种方法:第一种方法,自己分配内存,然后获取字符串: //得到条目的值,方法一,需要分配内存,略微麻烦 int nLen = m_ComboBox.GetLBTextLen(0); TCHAR* pText = new TCHAR[nLen + 1]; m_ComboBox.GetLBText(0
2020-12-04 17:37:40 1505 1
原创 VS中使用ComboBox的基本使用方法(增加删除条目)
1.增加/删除ComboBox中的条目直接在资源设计器里面增加,数据用分号隔开得到的效果如下:注意一细节,数据里面写的是abc;123;但条目中却是123/abc,原因是因为ComboBox有一个sort属性,默认是true,把sort属性设置为false,就会是按照你增加的数据顺序了.通过代码对ComboBox增加条目,方法一:void CTestComboBox000100Dlg::OnBnClickedButtonAdd(){ // TODO: .
2020-12-04 16:55:36 5178 1
原创 在Linux/Android下实现苹果版Iphone的Carlife(有线方式实现)
实现Android版本的Carlife稍微容易些,因为官方有给代码,但要实现苹果版本就比较复杂了,记录流程如下:1.首先,硬件上有苹果的加密IC(基于I2C通信),没有这个没法继续.2.苹果接入Android或者Linux机器时,是从模式,当Android或者Linux机器检测到是苹果手机的时候,发命令切换模式.3.切换模式后,Iphone是主,Android或者Linux是从, 也就是说,如果说,要想连接IPHONE CARLIFE,必须是OTG口.4.通信,认证,成功之后就可以看到CAR
2020-11-30 20:33:04 1758
原创 设备树-Linux启动时的平台匹配与传参bootargs
Linux在启动过程中,需要用Machine和设备树进行匹配.设备树部分配置如下:/ { model = "SMDK24440"; compatible = "samsung,smdk2440"; chosen { bootargs = "noinitrd root=/dev/mtdblock4 rw init=/linuxrc console=ttySAC0,115200"; };};首先,我
2020-09-02 11:05:32 959
原创 platform总线设备驱动代码分析
注册一个平台BUS//我们从入口函数head.S说起:struct device platform_bus = { .bus_id = "platform",}; struct bus_type platform_bus_type = { .name = "platform", .dev_attrs = platform_dev_attrs, .match = platform_match, .uevent =.
2020-08-29 12:03:10 163
转载 platform总线设备驱动模型内核源码简要分析
platform总线设备驱动模型代码简要分析平台总线设备驱动程序采用了分层分离的机制,我们先简述一下其大体上的原理,然后在从具体代码出发进行分析。大体原理:在内核中存在平台设备总线,我们要把设备挂载到总线设备列表中,同时也要把驱动挂在到总线驱动列表中,但是相匹配的设备和驱动的名字要保持一致,因为总线会根据设备和驱动的名字是否一致,来决定他们是否匹配,一旦设备和驱动匹配起来,就会调用驱动程序里的probe函数进行处理。代码分析,以/dirvers/mtd/nand/s3c2410.c为例来分析:
2020-08-29 08:25:49 276
转载 Linux/Android下的虚拟声卡
应用工程师需要用到一张虚拟声卡,以前没有接触过,这里mark一下。 内核配置如下: │ -> Device Drivers │ -> Sound card support (SOUND [=y]) │ ...
2020-08-28 17:55:40 2472
原创 windows下浮动框显示当前音量值
最近入手了一个在PC电脑上可以调节多媒体音量的旋钮,确实很爽,很方便,但我苦恼的是,笔记本上调节音量都是有音量条的,而我的台式机就没有了.不爽,于是上网去找工具,找到找去也没找到合适的.其实我就是一个简单的需求,就是把当前的音量显示在屏幕上,实在没办法,自己用VC写了一个.有同样需要的人可以下载来用用,还挺方便,效果如下浮动参考https://download.csdn.net/detail/jjzhang166/509070音量变化监控参考https://blog.csdn.ne.
2020-08-22 12:45:23 332
原创 文件日志
作为一个库,最基本的应该具有日志功能,在所有潜在错误的地方打日志,方便用户调试.本文介绍WceUi界面库所有的日志类.日志类是一个基本功能,我把他加入了全局类变量中,如果你还不知道全局类变量,参考https://www.netpt.net/forum.php?mod=viewthread&tid=40加入的方法如下,在.h中加入如下代码DECLARE_GVAR_HEAD(CFhWriteLogFile)class CGVarManage{ //在这里加上你要的全局变量
2020-06-21 15:38:25 223
原创 全局变量/类
在构建WceUi库时,需要用到一些全局变量,比如写日志的全局变量,语言资源的全局变量等等.这些全局变量的初始化需要严格按键顺序来执行.那么,引出我们今天的主角CGVarManage假如我们有两个类全局变量CTest001, CTest002要求CTest001先初始化,CTest002后初始化.那么我们可以这样写class CGVarManage{ CTest001 m_x001; CTest002 m_x002;根据C++的特性,m_x001先初始化,m_x002.
2020-06-20 16:04:08 1008
原创 qt creator 编辑 左侧项目管理栏关掉了,在哪里可以让其显示
不小心把qt creator搞成这样子了:这下好了,我都不知道咋编辑文件了,网上查了资料,找到方法,记录下:
2020-06-14 17:25:46 6543 5
原创 前言&目录 基于QT的WceUi
WceUi 全称是Windows CE UI Library,诞生于2008年,兴起于2009年,爆发于2010年,流行于多于领域,基于WceUi出货的设备台数超过千万. WceUi 的主要功能是实现iphone的主界面,iphone滑动列表,炫酷的控件等,并对CPU要求极低,当时在S3C2440(分辨率800x480)能流畅运行. 2015年后,由于windows ce日渐没落,WceUi就处于维护状态,没有继续开发新的功能了. 08年,有同事的同事的...
2020-06-14 16:55:13 182
原创 QT布局QGridLayout QHBoxLayout QVBoxLayout简要分析
在分析之前,先吐槽下M$的MFC,竟然没有相对布局!(至少我不知道,每次都是代码中控制布局),M$这么多年,也不发展一下,你看C#都有相对布局...参考精通Qt4编程(第2版),先看看总体的布局图然后看看代码CLoginDlg::CLoginDlg(QWidget* parent/* = NULL */) : QDialog(parent){ //QGridLayout usrLabel = new QLabel(tr("用户名:")); pwdLabel = new QLabel(tr
2020-06-11 17:33:56 1270
原创 QT4.8.6在windows下的环境搭建
本文测试环境: win7x64由于考虑到跨平台的原因,本安装不基于visual studio的插件来安装,这样的开发环境和linux更接近.三个文件请准备好:i686-4.8.2-release-posix-dwarf-rt_v3-rev4.7zqt-creator-opensource-windows-x86-3.3.0.exeqt-opensource-windows-x86-mingw482-4.8.6-1.exe1).把7z文件解压缩到C:\qt4.8.6\2)安装qt-o
2020-06-10 22:42:13 263
原创 承接Windows/Linux桌面应用开发(C/C++)
承接Windows/Linux桌面应用开发(C/C++),专业coding10年+,值得信赖,VC/MFC/QTQQ:13571089
2020-06-09 19:45:01 217
FloatVolume.rar
2020-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人