Qt + vs 2017 入门与教程

https://blog.csdn.net/wht1003/article/details/84197493
项目需求在VS基础上做界面,因此决定采用QT插件VS

Qt的一个详细教程网站:http://c.biancheng.net/qt/
Qt实现的加法:https://www.cnblogs.com/YiYA-blog/p/10735334.html
实现QQ:https://blog.csdn.net/nigoole/article/details/7418855
一个非常简单的入门例子:https://blog.csdn.net/mieleizhi0522/article/details/79259222

使用过程中的记录:

  1. 在类QT1中添加槽函数时,切记要加上“private slots:”,否则不起作用。
    在这里插入图片描述
  2. 我的VS2017里没有自动生成ui.xxx.h文件,这个文件在debug目录下,如果没有自动生成,需要进debug目录下查看修改

我的demo
项目代码在VS下完成,需要做一个界面,于是选择了vs2017+QT,为了走通这个使用流程,就做了一个比较简单的测试。使用UDP发送数据包,控制数据包的发送速率
主要代码如下:
值得注意的是:VS下的代码改动并不大,只是在显示输出部分的代码需要修改

#include "QtClient.h"
#pragma comment(lib, "ws2_32.lib")
#define _WINSOCK_DEPRECATED_NO_WARNINGS

#include <iostream>
#include <WinSock2.h>
#include <Qstring>

QtClient::QtClient(QWidget *parent)
	: QMainWindow(parent)
{
   
	ui.setupUi(this);
}
#define PACKET_SEND_BUF 50

int packet_num_per_small_cycle = 0; //定义每个小循环所连续发送的包数目
int packet_length = 1500; //定义每个UDP数据包的字节数 B
int packet_number_per_big_cycle = 0; //定义每个大轮循环中发送的udp包数目
float sleep_rate = 0.9; //定义线程休眠的轮次次率
//int expect_sending_speed = 1500; //定义期望的每秒发送的UDP字节数


/**
 * \brief 这个函数其实是把DWORD类型的数据转换为big-endian序(即大端存储,高位的放在内存低地址区,低位的放在内存高
 * 地址区)
 * \param pBuffer
 * \param dwData
 * 注意此函数有可能抛出空指针异常
 */
void WriteData(BYTE* pBuffer, DWORD dwData)
{
   
	if (pBuffer)
	{
   
		WORD hWord = HIWORD(dwData);
		WORD lWord = LOWORD(dwData);

		BYTE hhByte = HIBYTE(hWord);
		BYTE lhByte = LOBYTE(hWord);

		BYTE hlByte = HIBYTE(lWord);
		BYTE llByte = LOBYTE(lWord);

		pBuffer[0] = hhByte;
		pBuffer[1] = lhByte;
		pBuffer[2] = hlByte;
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值