这个网站真是太棒了,我要感谢任何回答我帖子的人。您可能会发现我的帖子是转发的转发,因为它再次与从 QLineEdit 检索数据有关。整整 2 天我一直在尝试解决这个问题,查看 hudge stackoverflow 数据库,但我找不到答案。
基本上我想从 QLineEdit 中检索 IP 地址和从 QLineEdit 中检索端口号,我这样做:
myclass::myclass(QWidget *parent = 0)
{
_mainuilayout = new QGridLayout();
ipAddress = new QLineEdit();
portnumber = new QLineEdit();
QFormLayout *connect2adress = new QFormLayout();
connect2adress->addRow("Ip Adress : ", ipAddress);
connect2adress->addRow("Port number : ", portnumber);
_launch = new QPushButton("Launch server");
_mainuilayout->addWidget(_launch);
_mainuilayout->addLayout(connect2adress);
QObject::connect(_launch, SIGNAL(clicked()), this, SLOT(setipAddress()));
QObject::connect(_launch, SIGNAL(clicked()), this, SLOT(setportnumber()));
server->connectTo(thisaddress,thisport);
QObject::connect(_launch, SIGNAL(clicked()), server, SLOT(launchserver()));
}
在这里,您获得了将 ip 地址存储在 QString 中的代码 thisaddress 是在标头和 thisport 中定义的 QString
void myclass::setipAddress()
{
thisaddress = ipAddress->text();
}
void myclass::setportnumber()
{
thisport = portnumber->text().toShort();
}
我想要的是当我单击启动按钮时,它将来自 QLineEdit 的数据存储在此地址和此端口中,以便我可以启动服务器,这是 connectTo 的代码
void server::connectTo(QString ipAdress,quint16 port)
{
if(!ipAdress.isEmpty() && port != 0 )
{
ipAddress = ipAdress;
portnumber = port;
}
}
当我将 QLineEdit 转换为 QString 时,问题真的来了,因为当我直接分配 thisAddress 和 thisportnumber 时,它正在工作
thisAddress = "127.0.0.1"
thisportnumber = 5855
过度我得到了这个错误:
Unsupported socket Operation
所以各位有什么答案可以帮助我吗?我已经尝试遵循该堆栈中给出的解决方案,在单击 QPushButton 时将 QLineEdit 的数据存储到 QString 中, 但它仍然无法正常工作,如果我找到让你知道的东西,我仍在努力!感谢您的回复!