QT 连接 - "No such slot"错误

QT connect - "No such slot" error

本文关键字:slot 错误 such No QT 连接      更新时间:2023-10-16
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 (exptwindow的构造函数)的地方

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);
};

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

在connect调用中,您正在连接ui->bigImgLabel ?可能你指的是picLabel;根据错误提示,ui->bigImgLabel是简单的QLabel