信息框增加回车发送,SocketError→errorOccurred

This commit is contained in:
sonichy 2024-10-30 16:50:41 +08:00
parent 03e78fb975
commit e6585f378e
3 changed files with 30 additions and 14 deletions

BIN
FileTrans

Binary file not shown.

View File

@ -1,14 +1,18 @@
# File Trans
基于 Qt Socket 的文件传输和消息发送软件,支持远程播放、截屏回传。
基于 Qt Socket 的文件传输和消息发送软件,支持自定义接收目录、远程播放、截屏回传。
FileTrans 程序在 64 位 Linux 系统 Qt5.15.2 编译。
## 界面
![alt](preview.png)
## 速度
手机WIFI传给机械硬盘速度20MB/s以上。
![alt](speed.jpg)
## Android版
[https://gitlink.org.cn/sonichy/FileTrans_Android](https://gitlink.org.cn/sonichy/FileTrans_Android)
## 参考
[Qt文件服务器](https://github.com/sonichy/HTYServer)
[Android手机间使用socket进行文件互传实例](https://www.cnblogs.com/zhujiabin/p/7139644.html)
[QPixmap编码成jpg的内存操作](https://blog.csdn.net/jklinux/article/details/71699182)
[QPixmap编码成jpg的内存操作](https://blog.csdn.net/jklinux/article/details/71699182)

View File

@ -10,10 +10,10 @@ MainWindow::MainWindow(QWidget *parent) :
setFixedSize(400, 500);
ui->lineEdit_port->setValidator(new QIntValidator(1024, 65535, this));
ui->lineEdit_root_dir->setText(settings.value("Directory", QApplication::applicationDirPath()).toString());
QAction *action_browser = new QAction;
action_browser->setIcon(QIcon::fromTheme("folder"));
ui->lineEdit_root_dir->addAction(action_browser, QLineEdit::TrailingPosition);
connect(action_browser, &QAction::triggered, [=](){
QAction *action_browse = new QAction;
action_browse->setIcon(QIcon::fromTheme("folder"));
ui->lineEdit_root_dir->addAction(action_browse, QLineEdit::TrailingPosition);
connect(action_browse, &QAction::triggered, [=](){
QString dir = QFileDialog::getExistingDirectory(this, tr("Root Directory"),
settings.value("Directory", QApplication::applicationDirPath()).toString(),
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
@ -22,6 +22,9 @@ MainWindow::MainWindow(QWidget *parent) :
settings.setValue("Directory", ui->lineEdit_root_dir->text());
}
});
connect(ui->lineEdit_message, &QLineEdit::returnPressed, [=](){
on_pushButton_send_pressed();
});
QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();
foreach (QNetworkInterface interface, list) {
@ -100,7 +103,8 @@ void MainWindow::newConnect()
}
});
connect(tcpSocket, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -179,7 +183,8 @@ void MainWindow::on_pushButton_send_pressed()
return;
qint64 port = ui->lineEdit_port->text().toInt();
QTcpSocket *tcpSocket1 = new QTcpSocket(this);
connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket1, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -194,6 +199,7 @@ void MainWindow::on_pushButton_send_pressed()
tcpSocket1->write(s.toUtf8());
tcpSocket1->close();
ui->textBrowser->append("[" + QDateTime::currentDateTime().toString("HH:mm:ss") + "] 发送:" + s);
ui->lineEdit_message->setText("");
});
}
@ -204,7 +210,8 @@ void MainWindow::on_pushButton_open_pressed()
return;
qint64 port = ui->lineEdit_port->text().toInt();
QTcpSocket *tcpSocket1 = new QTcpSocket(this);
connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket1, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -226,7 +233,8 @@ void MainWindow::on_pushButton_capture_pressed()
{
qint64 port = ui->lineEdit_port->text().toInt();
QTcpSocket *tcpSocket1 = new QTcpSocket(this);
connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket1, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -252,7 +260,8 @@ void MainWindow::upload(QString filepath)
}
qint64 port = ui->lineEdit_port->text().toInt();
QTcpSocket *tcpSocket1 = new QTcpSocket(this);
connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket1, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -273,7 +282,8 @@ void MainWindow::upload(QString filepath)
});
QTcpSocket *tcpSocket2 = new QTcpSocket(this);
connect(tcpSocket2, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket2, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket2, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -300,7 +310,8 @@ void MainWindow::upload(QString filepath)
void MainWindow::upload(QPixmap pixmap, QHostAddress hostAddress, quint64 port)
{
QTcpSocket *tcpSocket1 = new QTcpSocket(this);
connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket1, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);
@ -321,7 +332,8 @@ void MainWindow::upload(QPixmap pixmap, QHostAddress hostAddress, quint64 port)
});
QTcpSocket *tcpSocket2 = new QTcpSocket(this);
connect(tcpSocket2, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
//connect(tcpSocket2, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), [=](QAbstractSocket::SocketError socketError){
connect(tcpSocket, &QAbstractSocket::errorOccurred, [=](QAbstractSocket::SocketError socketError){
qDebug() << socketError;
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
QString errorString = metaEnum.valueToKey(socketError);