连接不起作用

时间:2016-08-20 07:39:42

标签: c++ qt bluetooth connect

在连接到本地蓝牙地址的程序中,类QBluetoothSocket发出信号connected(),所以我在构造函数中捕获它并调用信息插槽,表示建立了连接。 但我不知道为什么,信息插槽是看不见的 希望用代码更容易理解。

QBluetoothSocket socket;
connect(socket,&QBluetoothSocket::connected,this,&Widget::connected_to_local)
void Widget::connected_to_local()
{
    qDebug()<<"Connected!"<<endl;
}

,错误是:

C:\Qt_Projects\A_for_w8\A_for_w8\widget.cpp:19: error: no matching function for call to 'Widget::connect(QBluetoothSocket&, void (QBluetoothSocket::*)(), Widget*, void (Widget::*)())'
      connect(socket,&QBluetoothSocket::connected,this,&Widget::connected_to_local)
                                                                                  ^
我撕裂了自己,但真的不知道为什么...... 希望你能帮忙。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

QBluetoothSocket *socket = new QBluetoothSocket();
connect(socket,&QBluetoothSocket::connected,this,&Widget::connected_to_local)
void Widget::connected_to_local()
{
    qDebug()<<"Connected!"<<endl;
}

或:

QBluetoothSocket socket;
connect(&socket,&QBluetoothSocket::connected,this,&Widget::connected_to_local)
void Widget::connected_to_local()
{
    qDebug()<<"Connected!"<<endl;
}

您可以找到更多信息on the docs