7
私はMainWindow
とQNAMRedirect
のクラスを持っていますが、コンパイルエラーが発生しました。ここでQT 'MainWindow :: connect()を呼び出す関数がありません
はQNAMRedirect
クラスです:
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;
};
と私はMainWindow
にQTextEdit
ウィジェットにこの方法をNAMRedirect::finished(QString)
信号を接続しようとしています:
void MainWindow::on_request_clicked()
{
QNAMRedirect urlGet(this);
QObject::connect(urlGet,SIGNAL(finished(QString)),ui->textEdit,SLOT(setText(QString)));
urlGet.doRequest();
}
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();
};
、ここではMainWindow
クラスです
コンパイルエラーが発生する:
error: no matching function for call to 'MainWindow::connect(QNAMRedirect&, const char*, QTextEdit*&, const char*)'
どうすれば修正できますか?
大変ありがとうございます:) –
新しいQt5構文を使用するように接続を変更するとよい場合があります。利点は、コンパイル時に不一致が発生したときに通知を受け取ることです –