问题标签 [qt5.4]
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 - 使用 QtWebEngine 将网页内容渲染到屏幕外
我正在尝试将使用 QtWebKit 的应用程序移植到使用 QtWebEngine 的应用程序上。
我在架构上可以更改的内容有限,因此我必须坚持当前渲染页面的方法,捕获到内存缓冲区,然后将其移动到缓冲区用作 OpenGL 中的纹理的不同进程。
我已经尝试通过用 WebEngine 替换 WebKit 来移植代码(广义地说),但是 API 是不同的。
谁能告诉我这是否可能?如果是这样,请指出我正确的方向,以说明如何连接所有内容。
qt - 构建 Qt 5.4.1 失败并出现链接器错误
我正在尝试根据http://wiki.qt.io/Building_Qt_5_from_Git的描述构建 Qt 5.4.1,但没有成功。有趣的是:我得到一个关于一些丢失符号的链接器错误,而不是关于可能来自丢失附加包的丢失库的错误!所以我假设 Qt 本身存在问题。这就是我正在做的事情:
使用VS2013在windows下构建,配置如下:
在使用“nmake”成功构建很长时间后,它最终失败并出现以下错误:
为了更容易阅读,这是链接器错误消息的相关部分:
任何想法如何解决这个问题?
c++ - 如何使用 QDataStream::readBytes()
根据(在 Qt 5.4 的 QDataStream 中)的文档readBytes()
,我希望以下代码将其复制input_array
到新分配的内存中并指向raw
副本:
...但是代码打印raw null? true ; length = 0
,表明没有从输入数组中读取任何字节。
为什么是这样?我在误解什么readBytes()
?
c++ - QMessageLogContext 的字段(如:文件、函数、行)为空或为零
我有 2 台机器 Debian 7.8 64/32 位。我创建了一个简单的程序。在 main.cpp 中:
在“logfile.log”中,我必须看到:
但在 Debian 7.8 64 位 Qt 5.4.1 GCC 4.6.1 64 位上,我只看到:
我还在 Debian 7.8 32 位 Qt 5.3.1 GCC 4.6.1 32 位上进行了测试。它运行良好。
它是 Qt 5.4.1(64 位)的错误吗?还是我错过了什么?
你能帮助我吗?
c++ - 未找到 Qt5 QDialogButtonBox 本地化值,尽管它们存在于 qt_xx.qm 并在 Qt4 中找到
将我的应用程序从 Qt 4.8 升级到 Qt 5.4.1,我注意到当以非英语运行我的应用程序时,找不到 qt_xx.ts 的“QDialogButtonBox”部分中的翻译项。可以正确找到并显示其他项目,例如“QWizard”部分中的项目。
我怎样才能让我QMessageBox
的按钮使用 qt_xx.qm 中的翻译字符串?
我用法语来演示这个问题(代码如下):
我删除了 qt_fr.ts 文件中除“QDialogButtonBox”和“QWizard”之外的所有部分。我在“QWizard”部分编辑了“取消”的翻译,以确保完全使用 qt_fr.qm。然后我运行 lrelease 来创建我的 qt_fr.qm。
在 Windows 7 机器上,在区域和语言对话框中:
- 在“格式”选项卡中,我将“格式”设置为“法语(法国)”
- 在键盘和语言选项卡中,我将显示语言设置为法语。
我在同一个文件夹中使用 .exe 和 qt_fr.qm 运行我的示例项目。在那个文件夹中,我还有一份必要的 Qt5 dll 的副本(可以从 Qt 的 Windows 版本中复制它们,在 qtbase\bin 中)。
结果:
当我单击“QMessageBox”按钮时,我看到一个QMessageBox
,按钮未翻译。当我单击“QWizard”按钮时,我看到一个QWizard
,而“取消”按钮确实有我编辑过的翻译。
QMessageBox 按钮在我的应用程序的 Qt 4 版本中进行了翻译。发生了什么变化?如何让它在 Qt 5 中工作?
示例项目代码:
btn_localize_bug757.pro:
主文件
主窗口.h:
主窗口.cpp:
qt_fr.ts:
c++ - 在 Qt 中显示线程图形的最有效方式是什么?
这不是我的项目,但为了简单起见,假设我只需要打印移动方块(这是我实际上作为中间步骤所做的)。我已经看到了很多在 Qt 中制作图形的方法,但我真的不清楚什么是“最好的”方法。
我当然希望我的图形在单独的线程中运行,我通过简单地绘制到小部件或将绘制功能移动到它自己的线程中以及通过在不同线程中绘制到图像然后显示图像来实现这一点. 我通过创建一个 QObject 然后将其分配给 QThread 来做到这一点,而不是通过继承 QThread 并重新实现 run()。
在屏幕上移动几千个方块后,这些方式都会变慢。我认为这将是显示图形的最简单方法,但我知道还有其他使用 openGL 或 QGraphicsView 的方法。我希望堆栈溢出可以节省我的研究时间并为我指明正确的方向。
另外,如果我以正确的方式执行但错误地执行它,这是我的一些代码:
在渲染区域:
在图像制作器中:
qt - 如何覆盖 Q_Property?
考虑这些类:
当访问属性值时,直接调用 A 类方法而不是 B 类方法。
到目前为止,为了解决这个明显的限制,我复制了属性代码并连接了每个类的信号。
这是最好的解决方案吗?
有没有人看到潜在的问题(由于具有相同名称的属性)?
c++ - 浮动 QDockWidget 最小尺寸
我QDockWidget
在 Qt Creator 中设计了一个。由于某些原因,它分配了最小尺寸(屏幕截图)。我可以更改大小(例如更改为0x0
)并保存表单,但每当我重新打开表单时,它都会重置为60x38
。所有子小部件的最小尺寸为0x0
.
即使我在这里更改代码(运行时)的大小
我无法将浮动(!) 小部件的大小调整为 60 宽度以下。该约束来自哪里,如何减小宽度?
qt - 如何在使用qml单击时将背景图像更改为按钮中的另一个背景图像
我需要在使用 qml 单击时将按钮的背景图像从一个图像更改为另一个图像。
这是我的代码:
上面的代码只设置了背景图像,但是我需要onClicked
使用 qml2.4 更改事件或任何其他事件的背景图像。
qt - QtDbus 在 Windows 7 上的 Qt5.4.1 中不起作用
当我运行 Qt Creator dbus 示例时,它们无法运行,是否有任何设置或东西可用于工作 QtDbus 模块或任何先决条件?
例如在chat
项目中:
返回1
和程序终止。