[英]Qt C++ Custom Slot
我在Qt中制作自定義插槽時遇到了麻煩。 碼:
class.h文件:
public slots:
void resetUrl(){
this->load(QUrl("http://www.google.com"));
}
main.cpp文件:
#include <QWebView>
#include <QPushButton>
QWebView *web = new QWebView(mainwindow);
QPushButton *button = new QPushButton(mainwindow);
web->load(QUrl("http://www.yahoo.com"));
button->setText("Google");
QObject::connect(button, SIGNAL(clicked()), web, SLOT(resetUrl()));
它給我一條消息,說負載不是公認的成員。 我需要更改什么?
編輯:這是完整的webview.h文件:
#ifndef WEBVIEW_H
#define WEBVIEW_H
#include <QMainWindow>
#include <QWebView>
namespace Ui {
class webview;
}
class webview : public QMainWindow
{
Q_OBJECT
public:
explicit webview(QWidget *parent = 0);
~webview();
public slots:
void resetUrl(){
this->load(QUrl("http://www.google.com"));
}
private:
Ui::webview *ui;
};
#endif // WEBVIEW_H
您正在嘗試在此處調用webview
類的load()
方法:
void resetUrl(){
this->load(QUrl("http://www.google.com"));
}
但是,您的類是從QMainWindow
派生的:
class webview : public QMainWindow
基類和派生類實際上都沒有任何load()
方法。 您應該從QWebView
而不是QMainWindow
派生webview
類。 在這種情況下,將調用基類的load()
方法,並且可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.