- 博客(23)
- 资源 (31)
- 问答 (1)
- 收藏
- 关注
原创 std::function和std::bind的使用
1.std::functionstd::function是一个可调用对象包装器,是一个类模板,可以容纳除了类成员函数指针之外的所有可调用对象,它可以用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟它们的执行。#include <iostream>#include <functional>using namespace std;typedef std::function<int(int, int)> fun;//普通函数int add(i
2021-12-29 16:53:00
4179
原创 静态库与动态库的区别
先回忆一下将一个程序编译成可执行程序的步骤传送门静态链接是指将多个目标文件合并为一个可执行文件,直观感觉就是将所有目标文件的段合并。需要注意的是可执行文件与目标文件的结构基本一致,不同的是是否“可执行”。静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。静态库的缺点:程序体积膨胀程序升级改动很小也要更新整个程序Tips:多个程序只调用一个动态库,英文动态库在内存中
2021-12-12 22:46:45
278
原创 编译一个.cpp文件的过程
图片来自bilibili 传送门首先我们来看helloworld.cpp文件的内容#include <iostream>using namespace std;int main(){ cout << "hello world!" <<endl; return 0;}接下来,通过一条简单的命令即可完成对源代码的编译,生成可执行程序helloworldgcc -o helloworld helloworld.cpp通过这条命令,编译器gcc就会将
2021-12-12 22:23:15
7225
1
转载 智力题-面试
程序员面试必看30道智力题_2020GetGoodOffer的博客-优快云博客_程序员面试智力题二进制问题金条问题有个商人雇用了一位手艺高超的工匠了为他做一个精致产品,工作一星期七天的代价是一条金条。商人手头上有一条金条,刚好有可以付工匠一星期的工钱。但工匠要求工钱要按每天来付。虽然他并不急着用钱,每天有钱进账,老人心里总是踏实一些。但商人家中有个规矩,金条每星期只能切二刀。后来商人想出以了个切割金条的办法,满足了工匠的要求。你知道商人是怎么切割金条才能满足工匠的吗?切成1、2、4.
2021-11-18 01:26:37
283
原创 Loongarch64下编译libusb源码
1.直接运行下面代码会报架构错误./configure --prefix=/opt/libusb1.0 --disable-udev需要将loongarch架构添加进去 loongarch*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;;2.make sudo make install3.在opt/libusb1.0下...
2021-11-12 11:34:11
1007
1
原创 Linux下全局监测按键与鼠标位置信息-Qt封装
前置准备:pro文件添加如下两个链接库LIBS += -lX11 -lXtst没安装就执行安装命令sudo apt-get install xorg-dev libxcb-util0-dev我将其封装成了一个类,可以直接使用头文件:#ifndef KEYSCAN_H#define KEYSCAN_H#include <QThread>class keyScan : public QThread{ Q_OBJECTpublic: exp
2021-11-10 09:01:09
1906
原创 遇到的一些问题
1.linux环境下编译项目出现make: Warning: File 'Makefile.in' has modification time 11974293 s in the future.怎么解决呢?办法如下:在终端输入:find . -type f | xargs touch Makefile即可解决.
2021-11-09 18:33:05
4094
原创 Qt 调用讯飞翻译
将appid appkey appsecret替换即可,只是简单的调用,自己封装,源代码https://download.youkuaiyun.com/download/yonggandess/35319430#include "dialog.h"#include "ui_dialog.h"#include <QJsonDocument>#include <QJsonObject>#include <QJsonArray>#include <QMessag.
2021-10-29 10:02:09
14022
原创 将Mimouse加公证
1.将pro文件转换为xcode文件cd /Users/mimousems/Desktop/workSrc/mi-mouse /Users/mimousems/Qt5.9.5/5.9.5/clang_64/bin/qmake /Users/mimousems/Desktop/workSrc/mi-mouse/MiMouse-MacOSX.pro -spec macx-xcode2.将 Bundle Identifier 改为com.MiMouse.mimouse3.若是上传到官网需要
2021-02-20 16:44:09
136
原创 QtCreator修改VS风格主题
新建xml文件,复制如下代码<?xml version="1.0" encoding="UTF-8"?><style-scheme version="1.0" name="VS2013(dark-VA)"> <style name="Text" foreground="#dcdcdc" background="#1e1e1e"/> <style name="Link" foreground="#4183c4"/> <style nam
2021-01-28 14:09:40
862
1
原创 获取音频大小的分贝数
qint64 AudioInfo::writeData(const char *data, qint64 len){ char * data_temp = const_cast<char*>(data); QByteArray dataArray(data_temp, len); emit getData(dataArray); short int value = 0; double sum = 0; for(int i = 0; i &l.
2020-11-30 10:35:50
1841
原创 c++ 获取windows剪切板的富文本
工作先上一下可以直接运行的代码:新建控制台可以直接运行,显示当前剪切板中的富文本。字符串为utf-8,可以视情况转GBK#include <windows.h>#include <iostream>std::wstring StringToWString(const std::string& s){ std::wstring wszStr; int nLength = MultiByteToWideChar(CP_ACP, 0, s.c_str(.
2020-09-19 15:04:09
1434
原创 获取mouseMoveEvent事件
1、要想实现mouseMoveEvent,则需要在构造函数中添加setMouseTrack(true),直接得到监听事件。若是setMouseTrack(false),只有鼠标按下才会有mouseMove监听事件响应。2、使用setMouseTracking(true)对鼠标进行监控(mouseMoveEvent(QMouseEvent *event)),如果WidgetA有个子窗体WidgetB会占据WidgetA的绝大部分空间,那么当鼠标移动到WidgetB上时,WidgetA就会失去对鼠标的监控。
2020-09-11 10:01:19
3119
1
原创 Qt自定义界面失去焦点时自动消失
有时界面窗口我们想点击其他地方界面就消失,这有很多种方法,接下来说一下,用判断当前是否是活动窗口的方法来判断窗口是否应该关闭代码很简单:如下#include "milogintip.h"#include <QPushButton>#include <QVBoxLayout>#include <QApplication>MiloginTip::MiloginTip(QWidget *parent) : QWidget(parent){
2020-08-25 09:19:37
2703
原创 qt-常用代码
1.获取时间差QTime startTime = QTime::currentTime();QTime endTime = QTime::currentTime();int nElspsed = m_rButtontime.msecsTo(endTime);2.注册signal和slot数据类型qRegisterMetaType<QList<QString>>("QList<QString>");3.用数组和stl的时候一定要判断是...
2020-08-10 09:29:11
1290
原创 Qt设置窗口点击别的地方消失
简介很多时候我们希望创建一个弹出窗口,并且有可能是顶级窗口。这时需要一些操作来让窗口失去焦点时隐藏。1.设置窗口属性为Qt::window使得窗口出现时强制获取到焦点在构造函数中添加如下代码 this->setWindowFlags(Qt::Window|Qt::FramelessWindowHint); installEventFilter(this);2.当活动窗口不是此窗口时(焦点消失时),隐藏窗口重写事件过滤器bool subTitleSetWid
2020-07-23 14:25:28
1502
原创 Qt -QQ音乐歌词桌面
1.首先看一下效果当鼠标移动到字体上时出现控制界面。接下来我们来详细的介绍如何实现的,在文档最后作者也会附上源代码让大家一起探讨。接上两篇的代码继续写:QBasicTimer简单的歌词效果(不能移动,无控件)我们来看一下代码的改动如何:在主窗口dialog.h文件中我们新增了eventFilter事件来使得桌面歌词可以移动。#include <QDialog>class WigglyWidget;class subTitleWid;class Dia...
2020-07-13 17:56:27
1354
2
原创 Qt-模仿QQ歌词
简介:在上一篇文章,我们简单实现了将文字绘制在wigget上的舞动效果QBasicTimer接下来,我们要模仿qq音乐的歌词效果,即将鼠标移动上去将会出现背景和设置,将鼠标移开背景将会消失。效果如下:代码:和上一篇的代码差不多为了实现无边框的效果,我们在Dialog的构造函数下使用 setWindowFlags(Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground, true).
2020-07-13 09:58:14
601
1
原创 Qt-线程队列
开发过程中,一些运算耗时比较长的任务,我们会将其放在线程中运行。任务前提从网络上传来了大量的图片,我们短时间内会接收很多,但是处理图片的时间比接受时间长的多。处理步骤1.首先我们创建一个任务管理类,用于管理任务的信息task.h#ifndef TASK_H#define TASK_H#include <QImage>/** 用于管理任务的所有信息* 也可以内部处理*/class Task{public: Task(QImage imag.
2020-07-09 14:26:46
4031
4
原创 uos上qt的搭建
sudo apt-get install qtcreatorqt5-defaultlibqt5x11extras5-dev libqt5websockets5-dev qtwebsocket5-dev apt-get install xorg-dev
2020-06-16 16:54:03
663
原创 UOS 打包符合商店的deb包
1.构建一个规范的软件目录1)新建文件夹 com.appname.version 例如 com.mimouse.1.0.02)在com.mimouse.1.0.0文件夹下 新建 com.mimouse 目录3)在com.mimouse目录下新建entries files两个文件夹和info 文件4)在entries 下新建applications文件夹 (用来存放桌面文件)[Desktop Entry]Name=MiMouseComment=application for mimo
2020-06-16 09:59:55
3255
1
Q_D_Pointer.zip
2021-04-19
qtwinmigrate.zip
2020-09-17
untitled2.zip
2020-09-11
AbstractFactory.zip
2020-07-20
simple_factory.zip
2020-07-17
qqMusicGeci.zip
2020-07-13
wiggly歌词.zip
2020-07-13
ThreadQueue.zip
2020-07-09
qt主题资源,dark风格
2020-04-02
baiduTranslation.zip
2019-12-27
wordText.rar
2019-05-10
tomcat9.0最新版
2018-02-25
MFC如何获得正在运行的word的application对象?
2019-06-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人