我正在用Qt编写程序。我有从QWidget派生的类。它的构造函数我想使用Linux Socket连接方法。还想使用Qt connect Signal&插槽方法。 我怎么能这样做。因为当我使用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()));
}
答案 0 :(得分:2)
使用::
前缀:
...
if(::connect(client_fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr))){
...