问题标签 [qt5]

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.

0 投票
3 回答
18704 浏览

c++ - 如何将 CMake 中的 QtMain 与 Qt5 链接?

我将我的项目代码从 Qt4 升级到 Qt5。它使用 CMake。除了一行与 Qt 相关的 Cmake 命令外,转换很顺利。我在当前文档中找不到,例如

如何从 CMake(使用 Qt5)与 QtMain 链接?

这是转换我的项目的唯一缺失位。有人可以向我指出一个解释这一点的文档或解释如何用 Qt5 做到这一点吗?我的 Qt4 代码工作正常,但我找不到 Qt5 的 Cmake 宏。

编辑>这是我目前拥有的 CMake 文件:https ://bitbucket.org/klaim/aos_qt5/src/593c195c4c6889f6968d68fca018ef425783a063/tools/aosdesigner/CMakeLists.txt?at=wip_qt5

我相信,所有 qt5 必要的 CMake 宏都已正确设置,唯一不起作用的是链接到 QtMain 什么都不做,正如预期的那样,因为应该有一种我在Qt5 文档。

您可以浏览文件历史记录以查看它是如何与 Qt4 一起工作的。

0 投票
8 回答
27732 浏览

qt - 使用 QT5 库部署的应用程序无法在 Windows 7 上启动

最近,我们一直在将 Windows 上基于 QT 的应用程序从 QT 4.8 迁移到 QT 5,但我们遇到了部署问题。请注意,我们的应用程序没有改变,我们只是使用新的 QT5 框架构建它。经过一番努力,我们用基于 VS2010 的 QT5 库构建了它;我成功地从 Qt Creator 运行了该应用程序。

正如我们对 QT4 所做的那样,我们在安装程序中包含了一组必需的 QT 库。

在我们的测试阶段,当我们在干净的机器上安装我们的 QT5 应用程序时;它不会启动。应用程序不仅没有启动,而且没有输出任何错误。

我们通过依赖检查器运行应用程序;并且根本没有缺少库依赖项。

0 投票
1 回答
7763 浏览

c++ - 如何检测我的应用程序在 Qt 中失去焦点?

当鼠标光标位于某个小部件上时,我会显示一个弹出窗口,并且我想在鼠标离开小部件时隐藏此弹出窗口。

为此,我重新实现了leaveEvent(). 这似乎在所有情况下都有效,除非通过Alt+Tab. 我发现我可能需要捕捉另一个事件,但不知何故我找不到合适的。你能推荐一个吗?

0 投票
2 回答
7608 浏览

qt - QT5 QSound 不播放所有波形文件

我正在将基于 QT4.X 的应用程序迁移到 QT5。QT5 中删除了声子支持,因此我将播放波形文件的代码更改为使用 QSound。

改变非常简单。我只需要使用 QSound,它现在位于多媒体库中。这是代码:

对于我的大多数波形文件,这工作得很好;但是,对于我的波形文件(采样率为 44100Hz)它不起作用。

官方 QT 错误可以在这里找到。

更新:此错误已在 qt 5.1 中修复

0 投票
4 回答
35646 浏览

qt - 在 Linux 上为 Windows 构建 Qt 5

我想迁移我的 Qt 4 应用程序以改用 Qt 5。由于MXE构建 Qt 5 的方式存在一些差异,这些指令失败了,包括它使用模块化 Qt tarball,而不是一个大的 tarball。

0 投票
0 回答
1724 浏览

windows - Qt 没有找到 windows.h

我在安装了 SDK7 的 Windows 7+msvc2010 下使用 Qt5、QtCreator 运行一个简单的程序。我必须在这个程序中调用特定的 Windows 函数。

如果我尝试编译它,我总是得到:

错误:C1083:无法打开包含文件:'Windows.h':没有这样的文件或目录。

当然,我设置“正常”开发。QtCreator(Microsoft Visual C++ Compiler 10.0)中的套件,我之前尝试运行 vcvars32.bat。它仍然无法正常工作。

另一点:为什么在编译时,我看不到任何与 Windows SDK 相关的包含(-I...)?

我的错误在哪里?

0 投票
3 回答
7094 浏览

dll - 获取 Qt 5 附加插件的路径

在一个 Qt 4 项目中,我使用 Inno Setup 构建了一个 Windows 安装程序。所需的库(qsqlite.dll、qjpeg4.dll 等)包含在带有 CMake 变量(例如QT_QSQLITE_PLUGIN_RELEASE或)的脚本中QT_QJPEG_PLUGIN_RELEASE

例如: setup.iss.in :

现在项目应该迁移到 Qt5。一切正常,但我找不到预定义的变量来获得这些插件路径的 Qt5 等效项。当然,我可以对它们进行硬编码,但我正在寻找一种以干净和独立的方式定义它的方法。

0 投票
1 回答
2810 浏览

c++ - QListWidget 不允许图标大小大于 200

QListWidget::setIconSize尺寸 > 200x200 似乎没有任何效果。是有意的,还是我做错了什么?文档中没有提到这种上限。是否存在限制图标大小的另一个属性?

我正在使用 Qt 5。

0 投票
1 回答
9363 浏览

c++ - 如何在带有 qmlscene(或 qmlviewer5)的 .qml 上使用 Qt Quick 2 扩展插件

我使用 QtCreator 中的项目模板“Libraries/Qt Quick 2 Extension Plugin”创建了一个测试插件作为 Qt5/QML 共享库。我的开发环境是带有 Qt-5.0.0 和 QtCreator-2.6 的 linux(详情附在底部)。

源文件(关于要点):https ://gist.github.com/4467883

源文件默认生成,没有任何更改。项目名称是“untitled”,uri 是“com.mycompany.mycomponents”,对象类名称是“MyItem”。“/tmp/untitled”中的源文件作为 SRCDIR。

并构建它以将库文件输出为“libuntitled.so”“qmldir”和“/tmp/untitled-build”中的一些目标文件作为DESTDIR。

但是,我不能使用“/tmp/test/test.qml”中的库作为带有qmlscene命令的测试 QML 源。

“test.qml”(要点):https ://gist.github.com/4474422

它是失败的,并且QML_IMPORT_TRACE日志是:

并尝试“-I”选项:

那也失败了。日志是:

并尝试使用“/tmp/test/qmldir”:

“tmp/test/qmldir”(关于要点):https ://gist.github.com/4474497

那是失败。日志:

如何在 qmlscene(或 qmlviewer5)的测试 .qml("/tmp/test.qml") 中使用 library("/tmp/untitled-build/libuntitled.so")?

环境细节(基于 openSUSE-12.2):

参考:

  1. http://doc-snapshot.qt-project.org/5.0/qtcore/plugins-howto.html
  2. http://doc-snapshot.qt-project.org/5.0/qtcore/qtplugin.html
  3. http://qt-project.org/doc/qt-5.0/qtqml/qtqml-modules-qmldir.html
  4. http://qt-project.org/doc/qt-5.0/qtqml/examples-quick-tutorials-extending-chapter6-plugins.html
0 投票
1 回答
1407 浏览

qml - 从 QAbstractListModel 继承的列表模型,列表项属性不会从 QML 更新

我很难解释我的问题,所以我只是让它变得简单,并希望它能完成工作。我将 Qt5 与 QtQuick 2.0 一起使用。

我创建了一个继承自 QAbstractListModel 的 MyListModel 类,并保存 MyListItem 类型的项目。我在 QML ListView 中将其用作model: myListModel,并且委托quantity在可爱的 TextInput 框中显示来自 MyListItem 的属性。一切正常。

但是,当我更改quantity委托的值时,模型中的项目不会更新。我知道它们没有更新,因为我的setQuantity(long desired_quantity)函数,MyListItem 的成员,没有运行。长话短说,我不知道如何从委托中实际调用 setQuantity 函数。我可以通过添加Q_PROPERTY(long quantity READ quantity WRITE setQuantity)到 MyListItem 手动完成,然后使用setContextProperty()MyListItem myTemp对象公开给 QML,然后调用myTemp.quantity = 10. 但很明显,如果委托不能写入数量属性(它只能从中读取),它就没有做这项工作。

有人可以指出我正确的方向吗?我觉得我已经尝试了 Qt 设计师可能期望的一切,但我一无所获。而且我找不到任何可以明确解决我的问题的文档。