【发布时间】:2014-02-07 23:13:04
【问题描述】:
我是 Qt、C++ 以及信号和插槽的新手。我正在尝试加载网页。然后将 label_3 的文本设置为网页的标题。为此,我想我必须将 loadFinished 信号连接到我的自定义函数。但我在这样做时遇到了麻烦。
我已经阅读了手册、不同的示例和其他问题,但我被困住了。 这是我目前的代码摘录。
如何正确地将信号 loadFinished() 连接到我的函数 labelSetText()?
main.cpp
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
主窗口.cpp
void MainWindow::on_pushButton_clicked()
{
QString webAdress = ui->lineEdit->text();
QWebView *view = ui->webView;
view->load(QUrl(webAdress));
QString taxt = view->title();
connect(&view, SIGNAL(loadFinished(bool)),
this, SLOT(labelSetText(taxt)));
QWebPage * webPage = view->page();
}
void MainWindow::labelSetText(QString titleStr)
{
ui->label_3->setText(titleStr);
}
主窗口.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
namespace Ui {
class MainWindow;
}
class MainWindow : public QWidget
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
void labelSetText(QString titleStr);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
编辑: 这是我得到的错误
E:\_Programming\C++\playAround\mainwindow.cpp:37: error: no matching function for call to 'MainWindow::connect(QWebView**, const char*, MainWindow* const, const char*)'
this, SLOT(labelSetText(taxt)));
^
【问题讨论】:
标签: c++ qt signals qtwebkit slot