gpt4 book ai didi

Linux Socket::connect 和 QT::connect 混合

转载 作者:太空宇宙 更新时间:2023-11-04 09:38:25 28 4
gpt4 key购买 nike

我正在用 Qt 编写程序。我有从 QWidget 派生的类。在它的构造函数中我想使用 Linux Socket 连接方法。并且还想使用 Qt 连接信号和插槽方法。我该怎么做。因为当我使用 Socket 连接方法时,编译器认为我正在使用 Signal_Slot 连接方法并给出参数不匹配的编译错误,并且......

感谢您提供的任何信息。

这是我的代码:

Login_Page::Login_Page(QWidget *parent) :
QWidget(parent),
ui(new Ui::Login_Page){

ui->setupUi(this);
ui->error_lablel->hide();
//try connect to server
...
if(connect(client_fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr))){
ui->login_button->setDisabled(true);
ui->error_lablel->setText("cannot connect to server");
ui->error_lablel->show();
while(true){
if(!(connect(client_fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr))))
break;
}
ui->login_button->setDisabled(false);
ui->error_lablel->hide();
}

connect(ui->login_button,SIGNAL(clicked()),this,SLOT(login()));

最佳答案

调用::前缀的socket的connect方法:

...
if(::connect(client_fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr))){
...

关于Linux Socket::connect 和 QT::connect 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23980328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com