使用Ajax请求从QWebView读取本地文件
我正在开发QT/C ++程序,该程序封装了HTML5/jQuery Web应用程序. 我曾经提出AJAX请求以从服务器读取文件.但是现在,我希望QT从本地磁盘读取文件并将其内容发送到我的Web应用程序. 我认为我需要QT来捕获Web应用程序的AJAX请求,并作为AJAX请求结果返回文件内容. 问题是我不知道该怎么做.目前,我在Google上还没有找到任何有关的信息. 欢迎任何帮助! 解决方案 我终于找到了如何做.我覆盖QNetworkAccessManager. myqnetworkAccessmanager .h: class MyQNetworkAccessManager : public QNetworkAccessManager { Q_OBJECT protected: virtual QNetworkReply * createRequest(Operation op, const QNetworkRequest
2 2024-01-21
编程技术问答社区
QWEBVIEW:上传到YouTube返回错误
这是我的情况: 我创建了一个QWEBView,加载了YouTube页面并登录. 我选择上传选项(http://www.youtube.com/my_videos_upload),然后选择 上传的视频.但是,YouTube总是返回 "服务器返回了无效的响应.请按照以下步骤尝试再次上传文件." 我该如何解决这个问题? 谢谢. 编辑:我正在使用的代码是: import sys from PyQt4.QtCore import QUrl from PyQt4.QtGui import QApplication from PyQt4.QtWebKit import QWebView from PyQt4.QtNetwork import QNetworkAccessManager from PyQt4 import QtCore def fillForm(web, username, password): print "Filling in the form"
4 2023-12-25
编程技术问答社区
如何让QLayouts正常展开?
我的结构如下: QWidget -QHBoxLayout -QLabel -QVBoxLayout -QLabel -QWebView 我希望hboxlayout填充宽度,但是容器可能很大,但不再或多或少.但是,我希望QVBoxLayout扩展以适应其垂直方向的内容的大小. +-------------+------------------------------+ | FixedTitle: | Expanding to Width Title + | |------------------------------+ | | + | | this is a test which wraps to+ | | the
4 2023-12-03
编程技术问答社区
Qt WebKit和永久cookies
我有一个Mainwindow,我有一个Qwebview. 我想建立一个特定网站(例如www.kdkdkkd.com)cookies永久性,因此每次用户关闭并重新浏览他不需要再次登录的浏览器. 谢谢, 解决方案 您需要设置自己的" cookie jar". 使用扩展QNetworkCookieJar - 由于浏览器关闭时默认情况下不会持续cookie: QNetworkCookieJar对象是 已删除,它持有的所有饼干将是 也被丢弃.如果你想保存 饼干,你应该源于 此类并将保存实施到 磁盘为您自己的存储格式. (源自 您可以通过推动在每个请注意,其他解决方案 有一个官方的QT演示,称为" 浏览器".它使用QSETTINGS堆栈实现了cookiejar类,该类别支持和加载cookie和.ini文件. 其他解决方案 曾经在NAM(NetworkAccessManager)中注册的Cookie(S),将WebView设置为使用: myWebView->
2 2023-12-01
编程技术问答社区
C++和Javascript之间的WebGL通信
我和我的朋友正在尝试在C ++和JavaScript之间进行交流. 我们想用嵌入在C ++/QT(版本5.6)应用程序中的WebGL的给定位置上的某些领域. 为此,我们使用QWebView读取具有WebGL的所有JS代码的HTML文件.这效果很好,我们的应用程序中有一个出色的高级3D渲染器. 问题是该位置是由C ++知道的,必须与JavaScript共享. 更准确地说,C ++知道我们需要显示的球数及其位置,并且必须告诉JavaScript侧.最好的方法是什么? 注意:我们尝试使用QT Canvas3d,但与经典WebGL相比太慢. 编辑1-第一次尝试 之后 我尝试做您写的事情并阅读了一些示例(例如一个),但我无法使它起作用. 我创建了一个qwebengineview的子类,在其中进行所有初始化并放置数据. .h: #ifndef WEBGLVIEW_H #define WEBGLVIEW_H #include #inc
10 2023-11-30
编程技术问答社区
Qt WebView-拦截加载JS/CSS库以加载本地库
我一直在寻找文档,以找到一种方法来实现这一目标,但还没有成功.基本想法是,我有一块HTML,可以通过QT的WebView加载.相同的内容可以导出到单个HTML文件. 此文件使用Bootstrap和jQuery之类的库.目前,我通过CDN加载它们,该CDN在线良好时可以工作.但是,我的应用程序还需要离线运行.因此,我正在寻找一种在QT中拦截库的加载的方法,而是提供本地保存的文件.我尝试过安装HTTPS QWEBENGINEURLSCHEMEHANDLER,但这似乎从未触发它的请求方法. (PyQT example follows) QWebEngineProfile.defaultProfile().installUrlSchemeHandler(b'https', self) 如果我为该方案使用不同的文本并将其嵌入该页面,因此我的假设是它不起作用,因为QT有一个已经注册的默认处理程序.但是,该文件导出将失败. 无论如何,回到核心问题;是否有一种方法可以拦截库的加载,
6 2023-11-10
编程技术问答社区
如何设置QWebView'的插座选项?
我想设置带有qwebview的tcpnodelay等套接字选项.但是我在qwebview中找不到任何方法来执行此操作.我无法从qwebview获得连接套接字,有什么想法吗?谢谢. 解决方案 qWebView不直接使用qtcpsocket.它使用QnetworkAccessManager. QnetWorkAccessManager不会暴露对QTCPSOCKET的访问.我唯一能想到的控制此类内容的方法是继承QnetworkAccessManager,即覆盖Createrequest方法,该方法在内部提供了自己的qtcpsocket.请注意,您对普通QTCPSOCKETCOCT的请求可能与代理服务器以及QnetWorkreply不起作用,Qnetworkreply由通用QnetworkAccessManager 提供
16 2023-09-06
编程技术问答社区
如何用Selenium/PhantomJS列出加载的资源?
我想加载一个网页,并列出该页面的所有加载资源(JavaScript/Images/css).我使用此代码加载页面: from selenium import webdriver driver = webdriver.PhantomJS() driver.get('http://example.com') 上面的代码运行完美,我可以在HTML页面上进行一些处理.问题是,如何列出该页面加载的所有资源?我想要这样的东西: ['http://example.com/img/logo.png', 'http://example.com/css/style.css', 'http://example.com/js/jquery.js', 'http://www.google-analytics.com/ga.js'] 我也向其他解决方案开放,例如使用PySide.QWebView模块.我只想列出页面加载的资源. 解决方案 这不是硒解决方案,但可以与Python和Ph
12 2023-08-27
编程技术问答社区
使用PyQt和QWebview填写表格
我想使用pyqt/qwebview到1)加载特定的URL,2)将信息输入表单,3)单击按钮/链接.机械化不起作用,因为我需要一个实际的浏览器. 这是我的代码: import sys from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtWebKit import * from PyQt4 import QtCore app = QApplication(sys.argv) web = QWebView() web.load(QUrl("https://www.lendingclub.com/account/gotoLogin.action")) def fillForm(): doc = web.page().mainFrame().documentElement() user = doc.findFirst("input[id=master_username]") pa
28 2023-08-22
编程技术问答社区
在qwebview中以交互式模式打开plotly
我正在使用python处于离线模式下的plotly库,而我要做的是创建一些图,将它们保存为本地HTML并在第二瞬间加载到qwebview中. 这是带有虚拟变量的Boxplot的代码: from PyQt5.QtWebKitWidgets import QWebView import plotly import plotly.graph_objs as go x1 = [10, 3, 4, 5, 20, 4, 3] trace1 = go.Box( x = x1) layout = go.Layout( showlegend = True ) data = [trace1] fig = go.Figure(data=data, layout = layout) fn = '/home/matteo/plot.html' plotly.offline.plot(fig, filename = fn, auto_open = False) view = QW
18 2023-08-12
编程技术问答社区
Qt: QWebview 无法在其他机器上显示 jpg、gif 和 png 图像
今天,我遇到了一个非常奇怪的错误QWebView我无法解决自己. 我在我的应用程序中包括了QWebView小部件.当我设置一个URL或HTML代码以显示(使用QWebView::setUrl()或QWebView::setHtml())时,它在我的机器上非常有效.它还可以在所有已安装QT但没有它的机器上都可以使用.我编辑了一个版本,并包含了所有必要的库,如共享( qtwebkit4.dll , qtnetwork4.dll 等),所以我想我的错误在于我忘记包括包括一些图书馆. 如果有人已经有这样的错误,我将非常感谢帮助! 解决方案 您可能需要包括位于qt/plugins/imageformats中的相关QT图像处理插件库(也许也可以qt/plugins/iconengines).我没有部署任何WebKit应用程序,所以我不确定这一点. 其他解决方案 请参阅我对此问题的回答: Windows上的qt dll部署
20 2023-08-07
编程技术问答社区
如何向 QNetworkReply 写入内容(原为:生成内容的 QWebview)
我正在使用QWEBVIEW显示同一程序生成的HTML.现在,HTML可以参考其他资源,例如在框架中.当浏览器开始下载该资源时,我必须拦截该请求并亲自使用内容,因为不涉及WebServer.我可以用来抓住请求的URL并提供生成的内容的钩子? 创建浏览器小部件: self.browser = QWebView() self.layout.addWidget(self.browser) 加载框架集: self.browser.setHtml(ret.text) 现在我期望找到的是一些信号,然后 self.browser.requestURI.connect(myhandler) ,但我看不到任何类似的东西.这里更好的方法是什么? 编辑: 主要问题似乎正在使用 sethtml .因此,所有加载机制似乎都被绕过.使用 load()与A qnetworkAccessManager 结合使用了更好的结果(请参见下文).现在,
12 2023-07-25
编程技术问答社区
加载 url 时 QWebView 崩溃
qwebview加载某些网站(登录到Facebook,Tumblr)时,它会崩溃, 是否应该在打开URL之前启用某些内容,我使用QT 5.5.1 这是代码 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); wv = new QWebView; wv->setParent(this); wv->load(QUrl("https://www.tumblr.com")); } 解决方案 您正在旧QT版本中面对错误.除了更新QT并切换到QWebEngineView外,或者直接使用平台API启动浏览器小部件,例如,您无济于事. Internet Explorer ActiveX控件使用Windows上的ActiveQT或在OS X上使用WebView对象. 如果您与QT 5.5.1 和相关,则坚持
16 2023-07-25
编程技术问答社区
QT-Qweb 回调在此处的示例中不起作用
现在,此代码可与插槽机构一起使用.但是,我也想尝试信号方式.但是,我无法做到吗?还有更多想法吗? 我想从QT调用JavaScript的功能F1.但是,我无法做到.我看不到JS F1()收到的回调.我遵循了较早的帖子, qt qt qt qtebview javascript callback .但是,我无法做到.这是我的代码. #include #include #include #include #include #include class MyJavaScriptOperations : public QObject { Q_OBJECT public: QWebView *view; MyJavaScriptOperations(); Q_INVOKABLE qint32
20 2023-07-25
编程技术问答社区
打印 QWebview 的文本,但不显示 QPrintDialog
我尝试了: QPrintDialog printdia(MyWevView); printdia.exec(); QPrinter* printer = printdia.printer(); QPainter painter(printer); MyWevView->render(&painter, MyWevView->pos(),MyWevView->visibleRegion()); 我知道我不检查用户是否接受,但这不是问题...每次,我都看不到对话框,它只是打印 所以首先我不明白为什么qprintdialog没有出现,其次,为什么它知道我的打印机并直接打印文本 我想解决我的第一个问题将解决我的第二个问题... 谢谢! 解决方案 以下是用QWebView,QPrintDialog打印的完整工作示例: win.h #ifndef _WIN_H_ #define _WIN_H_ #include
6 2023-07-25
编程技术问答社区
通过扩展窗口调整 QWebView 的大小
我将如何用窗口的大小进行Qwebview窗口尺寸?现在,我看到我只能给它一定的维度,但是我该如何使其宽度和100%的高度,然后随着我使窗口更大或更小的变化? 基本上,如果我要调整大小,它也可以调整QWEBVIEW的大小.我该如何处理? 我看到有大小尺寸,但我看不出如何根据窗口应用程序进行调整大小. 解决方案 在布局中添加您的QWebView. QWebView *webView = new QWebView; QVBoxLayout *layout = new QVBoxLayout; this->centralWidget()->setLayout(layout); layout->addWidget(webView); 您可以阅读更多有关布局管理./p>
8 2023-07-25
编程技术问答社区
如何使用 qwebkitplatformplugin?
如何在 qwebview ? 中使用qwebkitplatformplugin 我有以下代码: #include MainWindow::MainWindow(QWidget *parent, bool new) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); webView = new QWebView; ui->webViewLay->addWidget(webView); webView->setHtml(" test "); } ,但没有找到如何使用扩展的示例 qwebkitplatformplugin . . [edit] 在此 api 中有几个扩展,例如 spellChecker 和 notifications ,我想知道如何在我的 WebView . 中使
10 2023-07-25
编程技术问答社区
如何在 QWebview 中显示本地 HTML?
我怀疑这是如此基础,以至于没有人烦恼记录下来. 我想从程序中编写一个HTML文件,然后将该文件加载到qwebview对象中. 当我打开QTCreator时,我可以在右侧的URL块中导航到文件,并在QTCreator中显示.当我编译并运行程序时,窗口为白色,空白. 我也不希望目录硬编码,我希望它使用当前目录. 所以我想有两个问题: 我该如何写???在以下内容中获取名为" ReportView"的QWEBView对象以显示我的本地文件? ui->reportView->load(QUrl("???")); 为什么qWebView对象保持空白?我怀疑连接到Google文档的问题,因为我会遇到此错误: QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function SSL_CTX_new QSslS
10 2023-07-25
编程技术问答社区
QWebView 无法加载外部 javascript?
可以使用qwebview从HTML加载外部JavaScript文件? 在以下QTProject(同一目录中的所有文件)中,HTML内部和外部文件中都有JavaScript代码.我在qwebview加载时缺少外部行为(在浏览器中效果很好): myApp.pro QT += core gui webkitwidgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = MyApp TEMPLATE = app DESTDIR = ./ SOURCES += main.cpp HEADERS += main.cpp #include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv);
20 2023-07-25
编程技术问答社区
QWebView 能否从 Qt 资源文件中加载图像?
我在QT应用程序的资源文件(用于帮助系统)中捆绑了一些HTML和PNG.不幸的是,我找不到HTML显示图像的方法.我已经尝试了QWebView的基本URL的各种组合,以及标签的不同URL,但没有一个工作. 要清楚,我想能够做这样的事情: QString html = ""; myWebView->setHtml(html, ???); 这是可能的吗? 解决方案 尝试您的资源格式为: qrc:/resources/cat.png 而不是 :/resources/cat.png 我们有.css文件在WebView中使用这种格式的图像,并且效果很好
10 2023-07-25
编程技术问答社区