Qt中如何点击按钮弹出一个新的加载地图的界面

p36378 2016-04-25 09:01:17
我再做一个桌面程序,就是点击一个按钮后,会弹出另一个窗口(不知道是Dialog还是Widget)来加载我本地的html网页
现在问题是我可以新建一个工程文件,直接上来就是窗口,然后在main.cpp中加载url,但是在我的主程序中,我不知该添加什么样的设计师界面,是Dialog还是Widget?需不需要在ui中拖上去一个WebView?而且应该怎样加载网页啊?

这是我新建的设计师界面类的cpp代码
#include "webbrowserdialog.h"
#include "ui_webbrowserdialog.h"

WebBrowserDialog::WebBrowserDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::WebBrowserDialog)
{
ui->setupUi(this);
showWeb();
}

WebBrowserDialog::~WebBrowserDialog()
{
delete ui;
}

void WebBrowserDialog::showWeb(){
QWebView *view = ui->webView;
view->load(QUrl("file:///D:/Docs/QT/QWebTest2/maps.html"));
view->show();
}


主界面中有个按钮与这个界面绑定可以跳转过来 然后编译就出现三十多个“无法解析的外部符号和命令” 我删了build文件重新构建还是不行 请各位帮帮忙 教教我该怎样添加这个界面吧!
...全文
459 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
p36378 2016-04-26
  • 打赏
  • 举报
回复
引用 6 楼 zbw1185 的回复:
[quote=引用 4 楼 zbw1185 的回复:] [quote=引用 3 楼 p36378 的回复:] [quote=引用 2 楼 zbw1185 的回复:] 创建一个新的dialog用来加载地图,在主界面上创建dialog的实例,然后show就可以了吧。
这个就是dialog啊 还是三十多个“无法解析的外部符号”错误[/quote] view->load(QUrl("file:///D:/Docs/QT/QWebTest2/maps.html")); load换成setUrl[/quote] (⊙﹏⊙)b,我傻逼了,你把整个debug文件夹删除再重新构建试试吧,或者是你是否引用了哪个库没有include.[/quote] include了一下qwebview就成功了 谢谢你啊!
p36378 2016-04-25
  • 打赏
  • 举报
回复
引用 6 楼 zbw1185 的回复:
[quote=引用 4 楼 zbw1185 的回复:] [quote=引用 3 楼 p36378 的回复:] [quote=引用 2 楼 zbw1185 的回复:] 创建一个新的dialog用来加载地图,在主界面上创建dialog的实例,然后show就可以了吧。
这个就是dialog啊 还是三十多个“无法解析的外部符号”错误[/quote] view->load(QUrl("file:///D:/Docs/QT/QWebTest2/maps.html")); load换成setUrl[/quote] (⊙﹏⊙)b,我傻逼了,你把整个debug文件夹删除再重新构建试试吧,或者是你是否引用了哪个库没有include.[/quote] 没有用啊。。。。
画茧自缚 2016-04-25
  • 打赏
  • 举报
回复
引用 4 楼 zbw1185 的回复:
[quote=引用 3 楼 p36378 的回复:] [quote=引用 2 楼 zbw1185 的回复:] 创建一个新的dialog用来加载地图,在主界面上创建dialog的实例,然后show就可以了吧。
这个就是dialog啊 还是三十多个“无法解析的外部符号”错误[/quote] view->load(QUrl("file:///D:/Docs/QT/QWebTest2/maps.html")); load换成setUrl[/quote] (⊙﹏⊙)b,我傻逼了,你把整个debug文件夹删除再重新构建试试吧,或者是你是否引用了哪个库没有include.
画茧自缚 2016-04-25
  • 打赏
  • 举报
回复
我这里是可以的,刚看到QWebView *view = ui->webView; 你怎么会有这样一句啊,不该是QWebView *view = new QWebView(this);吗
画茧自缚 2016-04-25
  • 打赏
  • 举报
回复
引用 3 楼 p36378 的回复:
[quote=引用 2 楼 zbw1185 的回复:] 创建一个新的dialog用来加载地图,在主界面上创建dialog的实例,然后show就可以了吧。
这个就是dialog啊 还是三十多个“无法解析的外部符号”错误[/quote] view->load(QUrl("file:///D:/Docs/QT/QWebTest2/maps.html")); load换成setUrl
p36378 2016-04-25
  • 打赏
  • 举报
回复
引用 2 楼 zbw1185 的回复:
创建一个新的dialog用来加载地图,在主界面上创建dialog的实例,然后show就可以了吧。
这个就是dialog啊 还是三十多个“无法解析的外部符号”错误
画茧自缚 2016-04-25
  • 打赏
  • 举报
回复
创建一个新的dialog用来加载地图,在主界面上创建dialog的实例,然后show就可以了吧。
p36378 2016-04-25
  • 打赏
  • 举报
回复
webbrowserdialog.obj:-1: error: LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl QWebView::QWebView(class QWidget *)" (__imp_??0QWebView@@QEAA@PEAVQWidget@@@Z),该符号在函数 "public: void __cdecl Ui_WebBrowserDialog::setupUi(class QDialog *)" (?setupUi@Ui_WebBrowserDialog@@QEAAXPEAVQDialog@@@Z) 中被引用 未找到文件 webbrowserdialog.obj 这是其中一个错误 还有三十个

16,216

社区成员

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

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