Tôi có các lớp MainWindow
và QNAMRedirect
và tôi đang cố biên dịch chương trình nhưng gặp phải lỗi trình biên dịch.QT không có chức năng phù hợp để gọi tới 'MainWindow :: connect()
Đây là QNAMRedirect
lớp:
class QNAMRedirect : public QObject
{
Q_OBJECT
public:
explicit QNAMRedirect(QObject *parent = 0);
~QNAMRedirect();
signals:
public slots:
void doRequest();
void replyFinished(QNetworkReply* reply);
signals:
void finished(QString);
private:
QPointer<QNetworkAccessManager> _qnam;
QUrl _originalUrl;
QUrl _urlRedirectedTo;
QNetworkAccessManager* createQNAM();
};
và đây là MainWindow
lớp:
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_request_clicked();
private:
Ui::MainWindow *ui;
};
và tôi đang cố gắng để kết nối NAMRedirect::finished(QString)
tín hiệu để QTextEdit
widget trong MainWindow
theo cách này:
void MainWindow::on_request_clicked()
{
QNAMRedirect urlGet(this);
QObject::connect(urlGet,SIGNAL(finished(QString)),ui->textEdit,SLOT(setText(QString)));
urlGet.doRequest();
}
nhưng tôi nhận được lỗi trình biên dịch:
error: no matching function for call to 'MainWindow::connect(QNAMRedirect&, const char*, QTextEdit*&, const char*)'
làm cách nào tôi có thể khắc phục điều đó?
cảm ơn bạn rất nhiều người đàn ông :) –
Bạn có thể thay đổi kết nối của mình để sử dụng cú pháp Qt5 mới. Ưu điểm là bạn nhận được thông báo tại thời gian biên dịch của bất kỳ không phù hợp –