- 博客(27)
- 收藏
- 关注
原创 QT windows下读取中文路径文件失败问题
#include <QTextCodec>.....QString fileName = QFileDialog::getOpenFileName(this,QString("打开图片文件"),QString("打开的图片文件路径目录"),QString("*.jpg *.bmp *.png"));if(fileName.isEmpty()){ QMessageBox::warning(this,QString("warning"),QString("No image was .
2022-04-14 09:58:48
975
原创 QT拖拽事件
//拖拽进入事件void GLWidget::dragEnterEvent(QDragEnterEvent *event){ if(!event->mimeData()->urls()[0].fileName().right(3).compare("jpg") || !event->mimeData()->urls()[0].fileName().right(3).compare("png") || !event->mimeData()->u.
2021-06-01 19:47:17
2470
1
原创 C++编程规范
1.头文件依赖于前向申 什么是前向申明 当我们在头文件中需要类的定义时,只需要申明class CLASSNAME就可以了,无需使用#include “CLASSNAME.h“ 【带来的优势】 较少文件依赖,节约编译时间 更加明确的类的依赖关系 【规则】 尽可能多的使用前向申明2.函数的参数顺序【规则】参数的申明顺序为,输入参数在前,输出参数在后 输入参数一般为传值和常数引用 输出参数或输入/输出参数一般为非常数指针【带来的优势】通过位置明确参数的作用
2021-05-12 19:04:09
241
转载 Qt Creator+MSVC开发环境搭建(Qt Creator编码+MSVC编译)
1、QT安装qt-opensource-windows-x86-5.13.0.exe:http://download.qt.io/archive/qt/5.13/5.13.0/qt-opensource-windows-x86-5.13.0.exe直接下一步,下一步装完就行,没什么可说的。2、VS2017安装我们使用Visual Studio Community 2017;可按我这篇博客进行安装:https://blog.youkuaiyun.com/zyhse/article/details/1
2021-05-09 10:05:25
720
转载 解决访问GitHub网站速度慢的问题
1、浏览器打开网站http://tool.chinaz.com/dns,检测github.com;2、选择TTL值最低的一个ip例如:13.250.177.2233、找到本机的hosts文件,C:\Windows\System32\drivers\etc\hosts, 打开编辑。(若无权限,将该文件复制到桌面,改完后再粘贴进去),在最后面加上:13.250.177.223 github.com4、保存后,打开cmd,执行命令:ipconfig /flushdns,刷新网站速度加快,若速度仍然慢,
2021-05-07 18:16:31
193
原创 Qt与mysql数据库的读写图片的简单操作
1.mysql数据库的表里面的某个存放图片的字段设置为blob【可变二进制数据类型】2.写进去 filePath = QFileDialog::getOpenFileName(this,"选择图片",".","Image File(*.png *.jpg *.jpeg *.bbmp)"); QFileInfo info(filePath); fileName = info.fileName(); //主要部分 if(
2021-03-22 22:18:06
806
2
原创 window QT连接mysql
linux的QT连接mysql还不没做,可能类似吧本文是引用https://blog.youkuaiyun.com/jin761153454/article/details/100760807,感谢博主我是用的是64位的QT与64为的mysql【网上说一定要一样的位数,否则不行,我没测试】有的人说:将你mysql里的lib下的这几个文件复制到QT的sqldricers里面就可以使用mysql了mysql测试代码:#include <QSqlDatabase>#include &l
2021-03-14 13:53:12
182
原创 linux安装nfs 实现linuxA(服务器)与linuxB(客户端)的挂载操作 -----ubuntu的
Ubuntu:【LinuxA作为服务器的】1.安装配置NFS服务器sudo apt-get install nfs-kernel-server nfs-common2.配置参数vim /etc/exports文件最后加入一行,注意不要加到注释/home/dhcc/nfs *(rw,sync,no_root_squash) #该目录为nfs服务根目录,*表示允许所有的网段访问,也可以使用具体的IP,参数详解在最后3.建立nfs目录(如果配置了已存在的目标可跳过此步)sudo mkd...
2021-03-09 23:30:55
233
原创 HTTPS和TCP协议三次握手设计
首先,这是某位大佬的知识总结,通俗易懂,自己忘记了回顾下 https://www.cnblogs.com/zhuoqingsen/p/9456787.html1. 我们的TCP 三次握手大概是长这样2.那么为什么 TCP 要采取三次握手,而不是两次或其他 首先我们要知道握手的目的:为了保证通讯双方建立的连接是可靠的。 同时,为了保证性能,握手的次数要求尽可能少。 那么什么才算是连接可靠?通讯双方建立的连接可靠”就是要确保双方的发送和接收功能都正常。...
2021-03-05 15:02:26
227
原创 QT的TCP通信
原理:效果图:代码:1.服务器端的.h文件#ifndef SERVERWIDGET_H#define SERVERWIDGET_H#include <QWidget>#include <QTcpServer>#include <QTcpSocket>#include <QTimer>#include <QFile>QT_BEGIN_NAMESPACEnamespace Ui { class se.
2021-03-04 11:18:42
326
1
原创 函数指针
函数指针,顾名思义,就是指向函数的指针。那么如何声明一个函数指针呢:答案是返回值以及形参列表与原函数相同,再加个指针符号' * '就好了。bool lengthCompare(const string &, const string &); //原函数bool (*pf)(const string &, const string &); //指向函数lengthCompare的指针,未初始化如上所示。并且很容易知道,当我们把函数名作为一个右值使用时,此函数
2021-03-02 14:50:53
161
转载 关于gcc编译 -I -L -l的使用
gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld参数说明:-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include-->/usr/include-->/usr/local/include-L /home/hello/lib表示将/home/hello/lib目录作为...
2021-02-25 08:57:52
160
转载 Qt5的信号与槽
Qt5 信号重载下面以最常用的QComboBox为例说明。【1】Qt4风格的connect示例代码:1 connect(ui->comboBox, SIGNAL(activated(int index)), this, SLOT(onActivated(int nIndex)));观察Qt4风格,可知第二个参数即使信号重载,也不会出现歧义。【2】Qt5风格的connect示例代码:1 connect(ui->comboBox, &QComboBox::
2021-02-24 09:35:36
663
原创 QPainter绘制总结
1.Qt绘图基础(1)绘图需画笔和画布:QPainter 相当于Qt中的一个画笔,绘制时需要一块画布, Qt中扮演画布角色的组件为QPaintDevice和他的各个子类,如:QWidget, QPixmap, QPixture... QPainter、QPaintDevice之间使用 QPaintEngine 进行通讯(也就是翻译 QPainter 的指令的意思)(2)怎么画通常都是要在哪个 widget 上绘图,就需要在它的paintEvent()函数里绘图,即重写 paintEv...
2021-02-24 09:23:35
2286
原创 QT的background-image border-image image
background-image :只根据图片资源的大小,不按照控件的大小,相对于控件坐标(0,0)开始,资源比控件大:裁剪掉后面多余的一部分,资源比控件小,多出的控件控件再填资源。border-image:它会根据控件的大小自行比例变化填满整个控件image:我只能说是资源等比例的缩小(为什么写缩小*^* ,因为下面的资源<控件很明显了吧)懂了的同学在下面扣个1,哈哈...
2020-09-09 10:39:45
2952
2
原创 虚拟机和本地不互通
1.电脑ping不通虚拟机的先看下有没有禁用掉网络(重点)关闭liunx防火墙,命令serviceiptables stop确定是否关闭,命令serviceiptables statusvi/etc/sysconfig/network-scripts/ifcfg-eth0或者vi/etc/sysconfig/network-scripts/ifcfg-ens32TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPRO...
2020-09-07 16:09:22
921
原创 过滤器(Filter)和拦截器(Interceptor)(我这里是springboot的例子)
为什么要用拦截器这个东西呢当你写好了个项目,运行的时候,你是不是要【localhost:8080/login】去登录,登陆成功后才能进入主页【localhost:8080/index】如果你没有拦截功能,就可以直接 【localhost:8080/index】进入主页,都不用登录了,没错吧但是,有了拦截功能就可以。。。。你懂的啦;不多bb,直接代码解释:首先,先看看控制层我这里有两个url可以访问(loginIn和login),先介绍一下:HttpServletRequest.
2020-08-25 18:29:15
311
原创 Springboot项目下mybatis报错:Invalid bound statement (not found)
1.检查xml文件所在package名称是否和Mapper interface所在的包名<mapper namespace="com.xjc.mapper.UserMapper">UserMapper2.UserMapper的方法在UserMapper.xml中没有,然后执行UserMapper的方法会报此错误3.UserDao的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType4.看下mapper的XML配置路径是否正确
2020-08-12 11:45:02
164
原创 java线程池的3大方法,7大参数,4大策略
public class Demo01 { public static void main(String[] args) { //线程池的3大方法,7大参数,4大策略// ExecutorService threadPool = Executors.newSingleThreadExecutor();//单个线程// ExecutorService threadPool = Executors.newFixedThreadPool(5);//创建.
2020-08-02 11:42:22
336
2
原创 并发下ArrayList不安全的解决办法,CopyOnWriteArraryList
1.为什么ArrayList不安全,Vector就安全呢?(你就开始想了,如果并发不出错,是不是得需要synchronized修饰add这个函数)然后你点进add看看找到相应的ArrayList。add和Vector。add看看这个时候,你会发现Vector的add有synchronized修饰(搞定)但这个时候你就想,那为什么ArrayList的add没有synchronized修饰,开发者傻了吗???两个文件往上找,你会发现Vector比ArrayList早开发,别人早就想到了。..
2020-07-31 10:11:22
169
原创 java的Jprofiler的使用
1.什么是JProfiler?JProfiler 是一个商业的主要用于检查和跟踪系统(限于Java开发的)的性能的工具。JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。JProfiler 是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。 JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直.
2020-07-30 16:45:44
447
原创 生产者和消费者
生产者和消费者老版的(synchronized)生产者和消费者(等待/业务/通知)public class Talksend { public static void main(String[] args) { Data data = new Data(); new Thread(()->{ for(int i=0;i<10;i++){ try {
2020-07-30 16:45:28
129
原创 java多线程
public class Talksend { public static void main(String[] args) { Talksend talksend = new Talksend(); new Thread(()->{ for(int i=0;i<30;i++){ talksend.saleTicket(); } },"A").start.
2020-07-30 16:45:17
89
转载 ubuntu samba服务安装求指导~! you have held broken packages
提示: Recommends: tdb-tools but it is not going to be installedE: Unable to correct problems, you have held broken packages看第一个图;倒数第五行:libwbclient0(=2:3.6.3-2ubuntu2)but 2:3.6.3-2ubuntu2.3 ·····就是说,libw...
2018-06-19 14:12:43
1998
原创 宏定义语句的 GPBCON 、GPBDAT、GPBUP 地址(老师布置的作业,没接触过,不懂,求大神解答,万分感谢)
下面几条宏定义语句的 GPBCON 、GPBDAT、GPBUP 地址分别是多少? #define GPIO_CTL_BASE 0x56000000 #define bGPIO(p) __REG(GPIO_CTL_BASE + (p)) #define GPBCON bGPIO(0x10) #define GPBDAT ...
2018-06-16 10:54:36
1177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人