【发布时间】:2014-05-03 22:53:56
【问题描述】:
我正在关注其他问题中发布的一些代码,关于如何通过信号和插槽连接父母和远方孩子之间的状态栏。
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 没有引用一个值”。 我不知道这意味着什么。感谢您的帮助!
【问题讨论】:
-
您需要在连接行中将
SLOT大写。