如何用QWebview打开本地的网页文件

Fan小凡 2010-10-06 04:05:34
如何使用QWebView打开本地的网页文件,我使用的是下面这种方面
QUrl url = QUrl::fromUserInput(filename);
ui->webView->load(url);

不知为什么他会不停的打开窗口,能帮我解决一下这个问题吗?提前谢谢了!!1
...全文
1351 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Max.Chen 2013-01-11
  • 打赏
  • 举报
回复
if (!filename.isEmpty()) { disconnect(ui->webView,SIGNAL(urlChanged(QUrl)),this,SLOT(setUrlSlot(QUrl))); ui->webView->load(QUrl::fromUserInput(filename)); QString curFile = QFileInfo(filename).canonicalFilePath(); //获得文件的标准路径 this->setWindowTitle(curFile+" - WebView"); this->statusLabel->setText(""); }
Fan小凡 2010-10-08
  • 打赏
  • 举报
回复
QObject::connect(ui->webView,SIGNAL(urlChanged(QUrl)),this,SLOT(setUrlSlot(QUrl)));

void MainWindow::setUrlSlot(QUrl url)
{
if(url.toString().contains(".html") || url.toString().contains(".htm"))
{
MainWindow *other =new MainWindow;
other->addressComboBox->addItem(url.toString());
other->addressComboBox->setCurrentIndex(other->addressComboBox->count()-1);
other->ui->webView->load(url);

other->show();
}
else
{
this->addressComboBox->addItem(url.toString());
this->addressComboBox->setCurrentIndex(this->addressComboBox->count()-1);
this->statusLabel->setText(url.toString());
this->statusProgressBar->show();
}
}

它的改变也应该会影响到这里吧!我看了好几遍代码了,Qt自带的例子里的代码我也看了,好像就是这样调用的,为什么它的就没问题呀!!!能帮我一下,再次谢谢了!!!!!
Fan小凡 2010-10-08
  • 打赏
  • 举报
回复
信号和槽的连接
QObject::connect(ui->openAction,SIGNAL(triggered()),this,SLOT(openHtmlSlot()));

槽的实现
void MainWindow::openHtmlSlot()
{
QString filename=QFileDialog::getOpenFileName(this,tr("打开文件..."),QString(),tr("网页文件 (*.htm *.mht *.html);;AllFiles(*.*)"));

if (!filename.isEmpty())
{
ui->webView->load(QUrl::fromUserInput(filename));

QString curFile = QFileInfo(filename).canonicalFilePath(); //获得文件的标准路径
this->setWindowTitle(curFile+" - WebView");

this->statusLabel->setText("");

}
}

我是这样做的没有用到循环呀!!!!
tingsking18 2010-10-06
  • 打赏
  • 举报
回复
可能是你循环调用上面贴的这部分代码了吧

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧