Qt 在windows和linux下的安装文件

windows:

下载: Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB)(Info)

http://download.qt-project.org/official_releases/qt/5.0/5.0.2/qt-windows-opensource-5.0.2-msvc2010_32-x86-offline.exe

直接下完安装,是没有集成到vs2010的,但是可以直接用qt creator等工具进行开发了.

下载:Visual Studio Add-in 1.2.1 for Qt5

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

下载完安装就可以了.在vs2010菜单上会多一个qt菜单.

Linux:

fedora:

下载 : 32位 Qt 5.0.2 for Linux 32-bit (395 MB)(Info)

http://download.qt-project.org/official_releases/qt/5.0/5.0.2/qt-linux-opensource-5.0.2-x86-offline.run

64位: Qt 5.0.2 for Linux 64-bit (394 MB)(Info)

http://download.qt-project.org/official_releases/qt/5.0/5.0.2/qt-linux-opensource-5.0.2-x86_64-offline.run

直接在fedora下安装,我没有装上,要用root安装.但是我想非root用户应该也是可以的吧.linux我不熟,安装完成后

新建的工程无法编译.提示找不到编译器.然后下各种gcc没搞定.

最后在网上找到一个很简单的方法搞定,就是直接在终端执行sudo yum install qt qt-devel qt-x11 qt-doc qt-demos qt-examples qt-assistant qt-creator qt-config

然后会提示用户密码,密码正确,就开始下载和安装了,装上之后,是qt4.8.也自动装上了g++.一下问题就解决了,而且之前装的5.0.2版也可以用了.真不错.我想应该

是之前没有装g++吧.所以提示找不到编译器.呵

 

要实现LinuxWindows之间的文件传输,可以使用Qt的网络模块。具体步骤如下: 1.创建客户端和服务器端应用程序,并在它们之间建立网络连接。 2.在客户端中选择要传输的文件,并将其读入内存中。 3.将文件数据通过网络发送到服务器端。 4.在服务器端接收文件数据并将其写入磁盘。 5.在客户端和服务器端之间协商文件传输协议和编码方式。 以下是一个简单的示例代码,用于在LinuxWindows之间传输文件: 客户端: ``` QFile file("/path/to/file"); if(!file.open(QIODevice::ReadOnly)) { qDebug() << "Unable to open file for reading"; return; } QTcpSocket socket; socket.connectToHost("server.ip.address", 12345); if(!socket.waitForConnected()) { qDebug() << "Unable to connect to server"; return; } QByteArray block; QDataStream out(&block, QIODevice::WriteOnly); out.setVersion(QDataStream::Qt_5_15); out << (quint64)0; // Placeholder for total message size out << file.fileName(); out << file.readAll(); out.device()->seek(0); out << (quint64)(block.size() - sizeof(quint64)); // Fill in total message size socket.write(block); socket.waitForBytesWritten(); socket.disconnectFromHost(); ``` 服务器端: ``` QTcpServer server; server.listen(QHostAddress::Any, 12345); connect(&server, SIGNAL(newConnection()), this, SLOT(onNewConnection())); void MyServer::onNewConnection() { QTcpSocket *socket = server.nextPendingConnection(); connect(socket, SIGNAL(readyRead()), this, SLOT(onReadyRead())); } void MyServer::onReadyRead() { QTcpSocket *socket = qobject_cast<QTcpSocket*>(sender()); QDataStream in(socket); in.setVersion(QDataStream::Qt_5_15); static quint64 totalBytes = 0; static quint64 fileNameSize = 0; static QString fileName; if(totalBytes == 0) { if(socket->bytesAvailable() < (int)sizeof(quint64)) { return; } in >> totalBytes; } if(fileNameSize == 0) { if(socket->bytesAvailable() < (int)sizeof(quint64)) { return; } in >> fileNameSize; } if(fileName.isEmpty()) { if(socket->bytesAvailable() < fileNameSize) { return; } in >> fileName; } QFile file("/path/to/save/file" + fileName); if(!file.open(QIODevice::WriteOnly)) { qDebug() << "Unable to open file for writing"; return; } QByteArray data = socket->readAll(); file.write(data); totalBytes -= data.size(); if(totalBytes == 0) { file.close(); socket->disconnectFromHost(); } } ``` 注意,此示例代码仅用于演示目的,您需要根据实际情况进行修改和调整。例如,您可能需要添加错误处理和协议协商等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值