• 6346阅读
  • 10回复

如何再建一个QWebFrame? [复制链接]

上一主题 下一主题
离线chemmyhuang
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-14
我知道一个QWebPage可以有多个QWebFrame
现在除了load url后自动生成的mainFrame,我想自己新建一个frame
用mainFrame显示我的url,而我自己建的frame去做其他的事情,待需要时将自己建的frame中的画面调出来送给QWebPage显示
请问大家应该怎么做?我查了很久的QT 手册,好像都没有这方面的API
离线wxj120bw

只看该作者 1楼 发表于: 2011-10-14
回 楼主(chemmyhuang) 的帖子
考虑下这个函数QWebFrame::setHtml()
离线chemmyhuang
只看该作者 2楼 发表于: 2011-10-17
回 1楼(wxj120bw) 的帖子
不好意思,不是很懂,用setHtml()怎么新建一个frame呢?
在我的程序里,无法用new去初始化一个QWebFrame,编译无法通过
离线wxj120bw

只看该作者 3楼 发表于: 2011-10-17
回 2楼(chemmyhuang) 的帖子
先将编译的错误贴出来 让大家分析下 如何新建一个frame 我也不清楚 估计要看下手册  
离线chemmyhuang
只看该作者 4楼 发表于: 2011-10-18
回 3楼(wxj120bw) 的帖子
我发现原因了,查看了qwebframe.h源码,发现qwebframe这个类的构造函数是私有的

报错如下:
no matching function for call to ‘QWebFrame::QWebFrame()’
/usr/local/Trolltech/QtEmbedded-4.5.3/include/QtWebKit/qwebframe.h:112: note: candidates are: QWebFrame::QWebFrame(QWebFrame*, QWebFrameData*)
/usr/local/Trolltech/QtEmbedded-4.5.3/include/QtWebKit/qwebframe.h:111: note:                 QWebFrame::QWebFrame(QWebPage*, QWebFrameData*)
/usr/local/Trolltech/QtEmbedded-4.5.3/include/QtWebKit/qwebframe.h:101: note:                 QWebFrame::QWebFrame(const QWebFrame&)
/usr/local/Trolltech/QtEmbedded-4.5.3/include/QtWebKit/qwebframe.h:113: error: ‘virtual QWebFrame::~QWebFrame()’ is private

并且QWebFrameData不知道是什么类,手册里没查到啊。。
离线wxj120bw

只看该作者 5楼 发表于: 2011-10-19
回 4楼(chemmyhuang) 的帖子
QWebFrame objects are created and controlled by the web page. You can connect to the web page's frameCreated() signal to be notified when a new frame is created.
这句QWebPage负责创建和控制QWebFrame对象,所以QWebFrame对象从QWebPage入手

QWebFrameData类是qt的内部,不是文档化的类。
离线chemmyhuang
只看该作者 6楼 发表于: 2011-10-19
回 5楼(wxj120bw) 的帖子
是的,但是QWebPage只有frameCreated() 这个信号函数与new frame的创建有关,当new frame创建了,这个信号函数就会被发送,但如何自己创建一个frame呢?一直不得其解。。
离线chemmyhuang
只看该作者 7楼 发表于: 2011-10-21
继续求助!
离线wxj120bw

只看该作者 8楼 发表于: 2011-10-21
回 7楼(chemmyhuang) 的帖子
你这个frame是占整个页面 还是页面中的一部分
离线chemmyhuang
只看该作者 9楼 发表于: 2011-10-21
回 8楼(wxj120bw) 的帖子
QWebPage的mainFrame显示在页面上,可见并占整个页面
我想自己建的那个frame希望后台运行,去做一些事情(比如页面放大之类),等需要用到这个frame的时候,再送给QWebPage替换mainFrame
你问这个是有什么关系吗?
离线wxj120bw

只看该作者 10楼 发表于: 2011-10-21
回 9楼(chemmyhuang) 的帖子
从QWebFrame不是创建对象 说明QWebFrame不能被直接控制 还有后台运行任务能不能交给javascript来执行 因为我认为frame对象不能被控制在后台运行 只供参考
快速回复
限100 字节
 
上一个 下一个