c++ - QT 连接 - "No such slot"错误

标签 c++ qt signals-slots

QObject::connect: No such slot QLabel::mousePressEvent(QString) in ..\exportwindow.cpp:42
QObject::connect:  (receiver name: 'bigImgLabel')

我在这里尝试连接:

void ExportWindow::on_chooseFolderButton_clicked()
{
//QString fileName = QFileDialog::getExistingDirectory( this, tr("Open Image"), tr(""), 0);
QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
QImage image(fileName);

ClickableImage* picLabel = new ClickableImage(ui->scrollArea);
picLabel->path = QString(fileName);
picLabel->setPixmap(QPixmap::fromImage(image));
ui->scrollArea->setWidget(picLabel);
connect(picLabel, SIGNAL(leftButtonPressed(QString&)),ui->bigImgLabel, SLOT(mousePressEvent(QString&)));
}

这是我创建 bigPicLabel(ExportWindow 的构造函数)的地方

ClickableImage* bigPicLabel = new ClickableImage(this);
vbl->addWidget(bigPicLabel);

这是类声明

class ClickableImage:public QLabel
{
Q_OBJECT
public:
ClickableImage(QWidget *parent = 0);
QString path;
public slots:
void mousePressEvent(QString& imgPath);

signals:
void leftButtonPressed(QString& imgPath);
};

我见过很多关于此错误的问题,但解决方案不适合这里。我在这里错过了什么?

最佳答案

在连接调用中,您正在连接到 ui->bigImgLabel 的插槽?可能你的意思是 picLabel;根据错误信息,ui->bigImgLabel 是一个简单的QLabel

关于c++ - QT 连接 - "No such slot"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22535294/

相关文章:

c++ - QRegExp 编译时警告

c++ - LeapMotion、Qt 和信号

c++ - 类(class)声明类(class)负责人的全局资格

c++ - 无法通过复制到匿名函数来传递数组地址

c++ - '{' 标记之前的预期类名

c++ - Qt自定义QPushButton不在布局上显示

python - Qt Python - 在按钮列表中更改所有按钮的颜色,直到单击的按钮为止

c++ - 这种线程间通信的方法安全吗?

.net - 编写 .NET 以外的 Windows 客户端应用程序的最佳方法是什么?

c++ - 使用 T[] 作为模板参数