在连接到本地蓝牙地址的程序中,类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)
^
我撕裂了自己,但真的不知道为什么......
希望你能帮忙。
答案 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