连接传递QString元素时出现QT错误

时间:2014-03-25 20:37:47

标签: qt signals qstring

我正在关注如何通过信号和插槽连接父母和远方孩子之间状态栏的其他问题中的一些代码。

MainWindow::MainWindow(QWidget *parent) :
  QMainWindow(parent)
{
...
connect(myCanvas,SIGNAL(mouseMoved(QString)),
        this,slot(setStatusBar(QString)));
...
}

在MainWindow类的某个地方,以下内容被声明为公共插槽:

void MainWindow::setStatusBarText(const QString& text) {
statusBar()->showMessage(text);
}
myCanvas所属的类中的

声明信号:

signals:
void mouseMoved(const QString&);

并发出信号:

void GraphicsView::mouseMoveEvent(QMouseEvent *mouseEvent)
{
 ...
     emit mouseMoved(QString("("+QString::number(mouseMoveCatch.x())+";"
        +QString::number(mouseMoveCatch.y())+")"));
 ...
 }

我确信QString已正确包含在内。但是当我编译时,我在连接线上得到一个错误,说“QString没有引用一个值”。 我不知道这意味着什么。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

你在行上有个案错误

connect(myCanvas,SIGNAL(mouseMoved(QString)),
    this,slot(setStatusBar(QString)));

您应该使用SLOT,而不是slot