- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 QWebView.load(QUrl(myurl)) 打开一个网页,该网页获取一些输入并返回一个新的 php 生成的页面。
如果在 Firefox 中执行,浏览器会自动打开一个新选项卡/窗口来显示返回的页面。
如何告诉 QWebView 打开一个新的 QWebview 实例并加载返回的数据?
我正在查看 QwebView 文档:www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwebview.html ...但没有喜悦。
此类页面的示例: http://www.iqfront.com/index.php?option=com_content&view=article&id=5&Itemid=4
感谢您的任何想法。
最佳答案
根据我的理解,这是开发人员的工作,为单击的网址创建和打开新选项卡。您需要为 QWebView::linkClicked 定义一个自定义插槽。信号。每当用户单击链接并且页面的 linkDelegationPolicy 属性设置为委托(delegate)指定 url 的链接处理时,就会发出此信号。您可以在其中创建 QWebView 的新实例,为其添加选项卡并在其中打开新的 url。下面是一个例子:
import sys
from PyQt4 import QtGui, QtCore, QtWebKit
class MainForm(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainForm, self).__init__(parent)
self.tabWidget = QtGui.QTabWidget(self)
self.setCentralWidget(self.tabWidget)
self.loadUrl(QtCore.QUrl('http://qt.nokia.com/'))
def loadUrl(self, url):
view = QtWebKit.QWebView()
view.connect(view, QtCore.SIGNAL('loadFinished(bool)'), self.loadFinished)
view.connect(view, QtCore.SIGNAL('linkClicked(const QUrl&)'), self.linkClicked)
view.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
self.tabWidget.setCurrentIndex(self.tabWidget.addTab(view, 'loading...'))
view.load(url)
def loadFinished(self, ok):
index = self.tabWidget.indexOf(self.sender())
self.tabWidget.setTabText(index, self.sender().url().host())
def linkClicked(self, url):
self.loadUrl(url)
def main():
app = QtGui.QApplication(sys.argv)
form = MainForm()
form.show()
app.exec_()
if __name__ == '__main__':
main()
希望这有帮助,问候
关于qt - QWebView 自动选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766186/
我正在尝试使用 Qt4 在 VLC 的单独对话框中添加浏览器控件。我设法在打开对话框的菜单栏中添加了一个菜单项。 以下是我的代码: class DialogBrowser : public QDial
这些定义有什么区别? #include "QWebView" 类 QWebView; 最佳答案 class QWebView;是所谓的前向声明。这意味着,在完全声明类型之前,您无法访问类的详细信息(如
我尝试运行它,但没有任何反应。 void MainWindow::on_pushButton_2_clicked() { ui->webView->load(QUrl("javascript:
我正在编写一个显示文件夹中静态 HTML 文件的应用程序。出于某种原因,PyQt4 的 QWebView class 不允许渲染任何字体,即使对于远程网站: QWebView : Chrome : 我
如何防止 QWebView 加载图像(出于节省流量的原因)? 最佳答案 可以在 QWebView 的设置中禁用它: web_view = QWebView() web_view.settings().
右键单击使用 QWebView 查看的网页上的任何文本在 Windows 上选择光标下的单词。我想禁用此行为,但在文档中找不到任何引用。 最佳答案 这个偏好看起来很深入网络套件 (为 QWebView
我的应用程序包含一个继承 QWebView 的类。问题是每次我尝试在此 View 中输入内容时都会崩溃!这是我的代码: void QViewSupport::setupSupport(QWidget
我想处理失败的请求(例如,回复http 404错误代码),在QWebView中显示我自己的“notfound.html”页面。但是没有简单的方法来处理 QWebView/QWebPage 类的回复。
我正在尝试编写一个可以播放 Flash 列表的程序(例如,来自 YouTube 的)我正在使用 QWebview 来显示视频,该插件工作正常。 但是,我如何知道一个视频何时结束,以便我可以开始下一个?
我使用 QWebView.load(QUrl(myurl)) 打开一个网页,该网页获取一些输入并返回一个新的 php 生成的页面。 如果在 Firefox 中执行,浏览器会自动打开一个新选项卡/窗口来
我正在使用 Qt5.4.3,在某些时候,Qt 会打印出这样的消息 LEAK: 145 CachedResource LEAK: 4432 WebCoreNode 我尝试在 Qt 应用程序上显示网页,但
我正在使用 Qt 5.6,问题是 QWebView 没有出现在小部件框中。看起来小部件没有安装,但我还没有找到任何安装方法。 最佳答案 在 Qt 5.6 中你需要使用 QWebEngineView 然
即使我为 QWebView 设置了几何形状,它也会占据整个屏幕的左侧。 更糟糕的是,如果我最大化窗口,两个小部件之间会有间隙 下面是我写的代码: from PyQt4.QtGui import * f
我的 Qt 应用程序在 QWebView 小部件中加载外部 html 页面。如何定义自己的样式表来呈现页面内容?是否可以捆绑一个 .css 文件供 QWebView 提取? 最佳答案 您可以使用QWe
代码 News::News(QWidget *parent) : QDialog(parent), ui(new Ui::News) { ui->setupUi(this);
由于 QWebView() 可能在 Ubuntu 16.10 及以上版本中不可用,因此执行以下操作的替代可能性是什么: View = QWebView() view.load(QUrl('http:/
我想让 QWebView 看起来扩展到宽度和高度,以便理想情况下它没有滚动条。有些网站可能有固定的宽度,不允许这样做,但我不关心这些。无论如何,我不能如愿以偿,因为 QWebView 实现 sizeH
我在 Windows 8.1 上运行基于 Qt 5.3.1 的 QtCreator 3.2.0。 似乎无论我尝试加载什么网站,onLoadFinished 插槽总是返回 false。我尝试使用和不使用
好吧,我正在尝试使用 CSS 分页符属性打印具有多个页面的 QWebView,该属性适用于 WebKit。我正在使用 Qt 5.1.1。 我的主要问题是,当我使用 Qt 将其打印为 PDF 时,一切都
bool MainWindow::waitForLoad(QWebView& view) { QEventLoop loopLoad; QTimer timer; QObjec
我是一名优秀的程序员,十分优秀!