问题标签 [qiodevice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 自定义 URL 协议处理程序 Qt 5
我想在我的应用程序中使用Video
/ MediaPlayer
QML 元素,并让它播放自定义流中的视频。QMediaPlayer
似乎支持这一点,因为您可以告诉它从QIODevice
可以做任何您想做的事情的 a 中读取。但MediaPlayer
只支持一个 URL。
有什么方法可以注册我自己的使用我自己的流协议的 URL 方案?例如,说我想做rtsp2://...
,我可以做一些模糊的事情,比如:
qt - 使用 qt 将自定义类写入文件的最佳方法
大家好(外面:)。
哪种方式最适合在 Qt 中将自定义类写入文件?
先感谢您。
马蒂亚斯
qt - “file.open(QIODevice::ReadOnly)”是什么意思?
我是 Qt 的新手,我在它的入门页面上学习。我想知道以下语句是什么意思,为什么需要它们?
在打开功能中:
同样在保存功能中:
如果没有这些行,我将无法运行这些功能。我尝试阅读文档中的错误处理,但无法准确找到这些语句的含义。
qt - QSocketNotifier::activated 和 QIODevice::readyRead 之间的区别
我创建了一个新的 Read QSocketNotifier
( QSocketNotifier::Read
) 并将其安装在QSslSocket
. QSslSocket
发出activated
信号时发出的信号是什么QSocketNotifier
?
安装在 a 上的 a发出的信号与a 发出的activated
信号之间有什么区别吗?QSocketNotifier
QSslSocket
QIODevice::readyRead
QSslSocket
c++ - QIODevice 写入结束
我有以下设置,
我需要一个函数,它在播放时将数据写入 audio_device 流的末尾。问题是它在播放时会改变位置(测试过这个)。我需要打电话,
写入写入缓冲区的末尾。我怎样才能让它同时播放和写作?
非常感谢这里的任何帮助。
__编辑__
部分修复!它发出轻微的噼啪声。
看起来它无法写入缓冲区。有没有更好的方法来做到这一点?
c++ - 使用 QDataStream 或 QTextStream 或不从 tcpsocket 读取文本行?
我正在创建一个简单的 TCP 服务器,并构建了一个插槽/函数,它从 TCP 套接字上的客户端(telnet 连接)读取传入的文本。我使用了 Fortune 代码示例来帮助我,但不得不删除 QDataStream,因为它没有按预期工作。
我希望我的 readCommand 函数从 telnet 客户端连接收集传入字符,一旦它找到换行符或返回以从输入缓冲区中删除键入的命令,删除 /n 和 /r,将其添加到我的字符串列表(commandList),然后回显命令(单独的功能)。这是我到目前为止所得到的:
在我开始手动剥离 /n 和 /r 等之前,我的直觉告诉我有更好的方法来做到这一点。QTextStream 是要走的路吗?有人可以提供一个简单的(r)替代我想要实现的目标吗?
multithreading - Write to QTcpSocket fails with different thread error
I have created a simple threaded TCP server which collects 3 lines read from the socket, and then tries to echo them back to the socket. The function echoCommand below crashes.
and here is the file where I connect up the slots/signals:
during or after the socket write, with this error:
Since I create the tcpSocketPtr in the run() function, I know it is in the same thread as this function. Why would the socket write fail? I should point out that the write is succeeding since I see the output on the telnet window...but still the socket write fails...
Just more info...I found that I should NOT put a slot in a QThread..not sure how to get around this, but here is my class definiation:
qt - 如何从我自己的 QtWebKit 应用程序中读取“发送”的 POST 数据?
如何从我自己的 QtWebKit 应用程序中读取“发送”的 POST 数据?我正在开发一个小型混合 QWebKit 应用程序,它使用 HTML 表单进行用户输入,然后执行本地 Perl 脚本并显示最终结果。实际上没有任何东西发送到服务器或从服务器检索,也没有执行实际的网络通信;HTML 表单只是脚本的本地接口。
我已经尝试了一个解决方案,灵感来自
Piotr Dobrogost “如何告诉 QWebPage 不要加载特定类型的资源?”的答案。和
Fèlix Galindo Allué “从 Qt 应用程序获取原始数据包数据”:
在调试消息“尝试读取 POST 数据...”之后,我的程序甚至没有显示 GUI 就崩溃了,很可能问题出在以下行:
我还发现并阅读了以下堆栈溢出问题:
1.“QNetworkReply - 建立连接,写入第一个字节等”,
2.“QtWebKit QWebPage::acceptNavigationRequest 和 POST 数据”,
3.“QNetworkAccessManager 读取输出数据并将其保存在 QIODevice ”,
以及 qt-project.org 论坛上的一篇有趣的帖子:
4.“ [已解决] QNetWorkRequest ”
,但没有一个答案为我提供了一个可行的解决方案。
如果没有找到更简单的解决方案(没有外部类),可能会测试由 Piotr Dobrogost 在问题 Nr 中提出的 Grantlee::Tee 解决方案。3.
如果可能,我想避免使用 Webkit Bridge 解决方案,例如 Qt Form Extractor Example,这使得我的应用程序依赖于在每个 HTML 表单中插入特定的 JavaScript 代码(更不用说许多表单是使用 jQuery / AJAX 提交的,他们期望来自浏览器的正常 POST 功能)。
每一个帮助、建议、信息,尤其是工作代码片段都将受到高度赞赏!
c++ - 自定义 QAbstractNetworkCache 实现;QAbstractNetworkCache::insert(QIODevice *device) 设备没有数据
我正在尝试构建自己的自定义QAbstractNetworkCache
实现以与QNetworkAccessManager
.
我遇到了麻烦QAbstractNetworkCache::insert(QIODevice *device)
;在这个方法中,设备总是带着 0 个字节到达。
据我了解,一旦完成下载QIODevice*
,从中返回的QAbstractNetworkCache::prepare(const QNetworkCacheMetaData &metaData)
将填充数据并用作方法的参数。QAbstractNetworkCache::insert(QIODevice *device)
QNetworkAccessManager
所以我准备了一个QBuffer
成为这个容器,但是每当QAbstractNetworkCache::insert(QIODevice *device)
被调用时,它总是什么都没有到达(device->bytesAvailable() == 0)
c++ - Qt:如何通过系统调用捕获错误?
我正在构建一个 GUI 应用程序,我在其中进行系统调用并调用 gnuplot 来运行脚本。现在我想构建一条错误消息,说明何时出现问题(例如未安装 gnuplot 或在错误的路径中)。
所以我一直在考虑只放一个QMessageBox,但我不知道如何检查系统调用是否成功。
我的系统调用如下所示:
有什么建议么?