转发QT(1)

1.下载windows下的QTQT4.8.5 for vs2010

http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-win-opensource-4.8.5-vs2010.exe


2.下载VS2010 下的QT插件:

http://download.qt-project.org/official_releases/vsaddin/qt-vs-addin-1.1.11-opensource.exe



3.安装QT库:点击 qt-win-opensource-4.8.5-vs2010.exe

一路Next~~

选中 I acceot the terms of the License Agreement,继续一路Next

开始安装,等上大概15分钟的样子。。。


至此,QT4.8.5安装成功了!!!

4.安装完QT4.8.5后,再安装QT插件:执行qt-vs-addin-1.1.11-opensource.exe




5.完成插件的安装后,打开VS2010,在文件-->新建-->项目中就出现了Qt4的模块,菜单条中也多了一项“Qt”:


6.新建一个QT工程“QtTest1”

之后需要,给VS2010添加QT的库文件和Lib文件,在工程的工程名“QtTest1”上右键单击,选择最下面“属性”栏。


在 配置属性-->VC++目录的“包含目录”,“引用目录”以及“库目录”栏,相应的找到下载好的QT4.8.5的include,lib,bin文件夹路径


至此就可以进行QT编程了,还是以“Hello,world!”作为例子:

  1. #include "qttest1.h"
  2. #include <QtGui/QApplication>
  3. #include <QtGui/QLabel>
  4. int main(int argc, char *argv[])
  5. {
  6. QApplication a(argc, argv);
  7. QLabel *hello_label = new QLabel("Hello, world!");
  8. hello_label->show();
  9. return a.exec();
  10. }
#include "qttest1.h"
#include <QtGui/QApplication>
#include <QtGui/QLabel>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	QLabel *hello_label = new QLabel("Hello, world!");
	hello_label->show();
	return a.exec();
}

启动调试(F5),运行结果如下:


7.加载已有QT工程:

当已经有了QT工程并且没有VS2010可直接打开的sln文件时,可以通过附加的Qt菜单项来打开。在加载之前,需要修改已有QT工程中的.pro文件,先在工程文件夹中找到它,用记事本打开如下:



将INCLUDEPATH和LIBS改为自己的OpenCV库库文件include的路径以及lib文件的路径和常用的lib文件,本人的OpenCV版本是2.4.4,因此需要更改,如下图所示:


保存后,打开VS2010菜单上的QT菜单中的Open QtProjectFile(.pro)菜单项,选中并打开刚才修改后的.pro文件,VS2010会自动加载这个QT工程,如下:



启动调试(F5),运行结果如下:



至此,整个从安装下载到配置,再到跑通第一个例子Hello world,加载已有QT工程的整个过程完成。

时统接收转发Qt程序开发涉及到多个方面,以下为你提供一些可能有用的资源和示例代码。 ### 开发教程 - **Qt官方文档**:Qt官方提供了全面的文档,涵盖了Qt的各个模块和功能。对于时统接收转发程序,可重点关注网络模块(如`QTcpSocket`、`QUdpSocket`)用于数据的接收和转发,以及多线程模块(`QThread`)来处理并发任务。网址为:https://doc.qt.io/qt - 6/ 。 - **在线教程网站**:像菜鸟教程(https://www.runoob.com/qt/qt - tutorial.html )、Qt学习之路(https://www.devbean.net/category/qt-study-road-2/ )等,这些网站有从基础到进阶的Qt教程,能帮助你逐步掌握Qt开发。 ### 代码示例 以下是一个简单的基于UDP的时统接收转发Qt程序示例: ```cpp #include <QtNetwork/QUdpSocket> #include <QCoreApplication> #include <QDebug> class TimeSyncReceiverForwarder : public QObject { Q_OBJECT public: TimeSyncReceiverForwarder(QObject *parent = nullptr) : QObject(parent) { // 绑定接收端口 receiver.bind(QHostAddress::Any, 1234); connect(&receiver, &QUdpSocket::readyRead, this, &TimeSyncReceiverForwarder::readPendingDatagrams); } private slots: void readPendingDatagrams() { while (receiver.hasPendingDatagrams()) { QByteArray datagram; datagram.resize(receiver.pendingDatagramSize()); QHostAddress sender; quint16 senderPort; receiver.readDatagram(datagram.data(), datagram.size(), &sender, &senderPort); // 转发数据 forwarder.writeDatagram(datagram, QHostAddress("192.168.1.100"), 5678); qDebug() << "Received and forwarded data:" << datagram; } } private: QUdpSocket receiver; QUdpSocket forwarder; }; #include "main.moc" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); TimeSyncReceiverForwarder tsrf; return a.exec(); } ``` 这个示例程序创建了一个`TimeSyncReceiverForwarder`类,使用`QUdpSocket`来接收来自端口1234的数据,并将其转发到IP地址为`192.168.1.100`、端口为5678的目标地址。 ### 使用说明 - **编译和运行**:将上述代码保存为`.cpp`文件,使用Qt Creator打开项目,配置好Qt环境后进行编译和运行。 - **注意事项**:在实际应用中,需要根据具体的时统协议和网络环境修改接收和转发的端口、目标IP地址等参数。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值