/root/TCP/main.cpp:8: error: 'class TCP' has no member named 'show',代码如下int main(int argc, char *argv[]) { QApplication a(argc, argv); TCP w; w.show(); return a.exec(); }
时间: 2024-01-22 11:03:58 浏览: 18
这个错误是由于在main.cpp文件的第8行中使用了TCP类的一个未定义的成员函数"show"。正确的函数名是"showNormal",而不是"show"。因此,将"show"替换为"showNormal"即可解决该问题。修改后的代码如下:
```c++
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
TCP w;
w.showNormal();
return a.exec();
}
```
请注意,"showNormal"函数用于将窗口显示为正常大小和位置,而"show"函数用于将窗口显示为默认大小和位置。
相关问题
trionetcom.cpp:259:40: error: no member named 'TcpProxy' in 'QNetworkProxy'
抱歉,这是因为QNetworkProxy中没有名为'TcpProxy'的成员。正确的成员是'ProxyType'。以下是修改后的代码:
```cpp
// 第一个上位机
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建socket代理
QNetworkProxy proxy(QNetworkProxy::ProxyType::TcpProxy, "169.254.7.71", 10001);
QNetworkProxy::setApplicationProxy(proxy);
// 创建socket连接
QTcpSocket socket;
socket.connectToHost("169.254.7.71", 10001);
// 发送数据
QByteArray data("Hello from Upstream 1");
socket.write(data);
// 等待接收数据
socket.waitForReadyRead();
QByteArray response = socket.readAll();
qDebug() << response;
return a.exec();
}
```
```cpp
// 第二个上位机
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建socket代理
QNetworkProxy proxy(QNetworkProxy::ProxyType::TcpProxy, "169.254.7.71", 10001);
QNetworkProxy::setApplicationProxy(proxy);
// 创建socket连接
QTcpSocket socket;
socket.connectToHost("169.254.7.71", 10001);
// 发送数据
QByteArray data("Hello from Upstream 2");
socket.write(data);
// 等待接收数据
socket.waitForReadyRead();
QByteArray response = socket.readAll();
qDebug() << response;
return a.exec();
}
```
请注意,这两个程序可以分别在两台不同的计算机上运行,只需要将IP地址改成下位机的实际IP地址即可。
trionetcom.cpp:259:51: error: no member named 'TcpProxy' in 'QNetworkProxy::ProxyType'
非常抱歉,我的回答有误。正确的写法是使用QNetworkProxy::Socks5Proxy来创建代理。以下是修改后的代码:
```cpp
// 第一个上位机
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建socket代理
QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, "169.254.7.71", 10001);
QNetworkProxy::setApplicationProxy(proxy);
// 创建socket连接
QTcpSocket socket;
socket.connectToHost("169.254.7.71", 10001);
// 发送数据
QByteArray data("Hello from Upstream 1");
socket.write(data);
// 等待接收数据
socket.waitForReadyRead();
QByteArray response = socket.readAll();
qDebug() << response;
return a.exec();
}
```
```cpp
// 第二个上位机
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建socket代理
QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, "169.254.7.71", 10001);
QNetworkProxy::setApplicationProxy(proxy);
// 创建socket连接
QTcpSocket socket;
socket.connectToHost("169.254.7.71", 10001);
// 发送数据
QByteArray data("Hello from Upstream 2");
socket.write(data);
// 等待接收数据
socket.waitForReadyRead();
QByteArray response = socket.readAll();
qDebug() << response;
return a.exec();
}
```
请注意,这两个程序可以分别在两台不同的计算机上运行,只需要将IP地址改成下位机的实际IP地址即可。