自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 TCP/UDP---Qt

功能在widget工程里面实现准备工作在 .pro 文件里加上QT += networkTCP服务端#include <QTcpServer>#include <QTcpSocket>1、定义监听socket和接收消息socket QTcpServer* server; QTcpSocket* socket;2、在构造函数里进行初始化 server = new QTcpServer(); connect(server,&QTc

2022-03-02 16:19:19 2388

原创 TCP/UDP---C++

TCP服务端1、初始化套接字库2、创建监听套接字(socket())3、为监听套接字绑定(bind())IP和Port4、监听(listen())5、接收连接(accept())6、通信(send()、recv())7、关闭套接字(closesocket())#include <WinSock2.h>#pragma comment(lib,"ws2_32.lib")#include <iostream>using namespace std;#pragma

2022-03-01 11:07:05 2292

原创 多字节与宽字节互转

编码小知识下面这些概念不知道对不对,若有大佬发现说错的地方,欢迎指正ANSI编码:各国制订的自己文字的编码,比如中国大陆的 GBK 编码方式Unicode:一套全球统一的编码规范,共110多万个字符。存储方式由UTF-8、UTF-16、UTF-32这三种宽字节和多字节是微软中的概念。宽字节:指Unicode编码,用wchar_t定义变量,每个字符占两个字节。多字节:指ANSI编码,用char定义,一个字符占一个字节。unicode转多字节wchar_t* pwBuf;int nLen =

2022-03-01 09:48:01 591

原创 Qt---配置文件读写

1、添加头文件#include <QSettings>#include <QFileInfo>#include <QCoreApplication>2、初始化配置文件读写对象 QSettings *psetting = nullptr; //定义配置文件读写对象 //获取配置文件位置 QString qstrConfigPath = QCoreApplication::applicationDirPath()+"/confi

2022-02-26 17:15:31 394 1

原创 字符串转化

UNICODECString 转 stringCString cstrOri;string strDest;USES_CONVERSION;strDest = string(W2A(cstrOri));string 转 CStringstring strOri;CString cstrDest;cstrDest = CString(strOri.c_str());字符数组转字符串char szOri[20];string strDest;strDest = szOri;c

2022-02-26 16:57:02 95

原创 Qt---文件操作

打开文件选择对话框 //父窗口、对话框名称、默认路径、文件类型 //在选择文件的时候其他对话框不可操作 QString qstrFileName = QFileDialog::getOpenFileName(this,QString("打开文件"),QString("/root"),QString("Text files (*.txt *.c *.cpp *.java);;Images (*.jpg *.png *.bmp);;XML files (*.xml)")); if(!q

2022-02-26 16:02:45 148

原创 Qt---数据库操作

准备工作1、在.pro文件里加入QT += sql2、添加头文件#include <QSqlDatabase>#include <QSqlQuery>#include <QDebug>#include <QStringList>查看Qt支持的数据库驱动 qDebug()<<"Avaliablr drivers: "<<endl; //获取可用的数据库驱动 QStringList drivers

2022-02-26 14:05:04 637

原创 Qt---绘图

在头文件添加绘图事件protected: void paintEvent(QPaintEvent *event);在源文件进行实现#include <QPainter>#include <QGradient>void CPaintPrac::paintEvent(QPaintEvent *event){ QPainter painter(this); QBrush brush; //define a bru

2022-02-23 11:43:16 166

原创 Qt---将变量插入字符串、字符串拼接

将变量插入字符串int num1 = 2,num2 = 3;QString str = tr("There are %1 apples and %2 oranges on the desk .").arg(num1).arg(num2);或者进行字符串拼接QString str1 = "sunny";QString str2 = tr("It is %1 today .").arg(str1);

2022-02-23 11:10:21 2921

原创 Qt---随机数生成器

给随机数生成器一个种子 //使用0时0分0秒到现在所走过的秒数作为随机数生成器的种子 qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));生成随机数 // %10 获得0-9的随机数,同理 %100 获得0-99的随机数 int num = qrand()%10;...

2022-02-23 10:38:01 251

原创 指针使用小提示

定义指针 QTimer* m_pTimer;指针定义完之后最好在构造函数里先初始化 m_pTimer = NULL; 这样的话就可以用下面的语句判断指针是否进行过内存分配了if(!m_pTimer){ qDebug()<<"变量还未分配内存"<<endl;}为指针分配内存 m_pTimer = new QTimer();...

2022-02-23 10:32:29 530

原创 Qt---鼠标、键盘响应事件

1、鼠标响应事件鼠标响应事件有按下、移动和弹起三种事件,下面只展示按下事件,其他两种事件与其类似(1)在头文件添加函数声明protected: void mousePressEvent(QMouseEvent *event);(2)在源文件添加头文件并进行函数实现#include <QMouseEvent>void Widget::mousePressEvent(QMouseEvent *event){ //在单行输入框中显示鼠标按下的坐标位置 ui->l

2022-02-23 08:48:52 3370

原创 Qt---QTimer

1、多个定时器(1)在头文件里加入定时器事件函数和标识定时器ID的变量protected: void timerEvent(QTimerEvent *);private: int m_nTimer1; int m_nTimer2;(2)在源文件中添加函数的实现void CTimerPrac::timerEvent(QTimerEvent *event){ //使用ID可判断是哪个定时器触发的溢时操作 if (event->timerId() ==

2022-02-22 17:20:50 474

原创 Qt---QMessageBox

下面这些消息对话框的参数可以按自己的需求进行填写。比如参数1的 this 可以换成 NULL参2是对话框的名称,即左上角的文字参3是对话框显示的内容参4是对话框带的按钮类型,用 | 可以同时添加多个QMessageBox::question(this,"Help","This is a help box",QMessageBox::YesAll);QMessageBox::critical(this,"Error","This is a Error box",QMessag

2022-02-22 11:39:27 425

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除