このサイトは本当に素晴らしいです。私の投稿に回答してくれた人に感謝します。QLineEdit からのデータの取得に関するものであるため、私の投稿は再投稿の再投稿であることがわかるでしょう。hudge stackoverflow データベースを調べて丸 2 日間問題を解決しようとしてきましたが、答えが見つかりません。
基本的に、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 からのデータが thisaddress と thisport に保存され、サーバーを起動できるようになることです。これが 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 に格納するというスタック ポストに記載されている解決策に従おうとしました が、まだ機能していません。返信ありがとうございます。