问题标签 [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.
c++ - 如何将 CMake 中的 QtMain 与 Qt5 链接?
我将我的项目代码从 Qt4 升级到 Qt5。它使用 CMake。除了一行与 Qt 相关的 Cmake 命令外,转换很顺利。我在当前文档中找不到,例如
- http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html
- http://qt-project.org/doc/qt-5.0/qtdoc/qtmain.html
如何从 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 一起工作的。
qt - 使用 QT5 库部署的应用程序无法在 Windows 7 上启动
最近,我们一直在将 Windows 上基于 QT 的应用程序从 QT 4.8 迁移到 QT 5,但我们遇到了部署问题。请注意,我们的应用程序没有改变,我们只是使用新的 QT5 框架构建它。经过一番努力,我们用基于 VS2010 的 QT5 库构建了它;我成功地从 Qt Creator 运行了该应用程序。
正如我们对 QT4 所做的那样,我们在安装程序中包含了一组必需的 QT 库。
在我们的测试阶段,当我们在干净的机器上安装我们的 QT5 应用程序时;它不会启动。应用程序不仅没有启动,而且没有输出任何错误。
我们通过依赖检查器运行应用程序;并且根本没有缺少库依赖项。
c++ - 如何检测我的应用程序在 Qt 中失去焦点?
当鼠标光标位于某个小部件上时,我会显示一个弹出窗口,并且我想在鼠标离开小部件时隐藏此弹出窗口。
为此,我重新实现了leaveEvent()
. 这似乎在所有情况下都有效,除非通过Alt+Tab
. 我发现我可能需要捕捉另一个事件,但不知何故我找不到合适的。你能推荐一个吗?
qt - QT5 QSound 不播放所有波形文件
我正在将基于 QT4.X 的应用程序迁移到 QT5。QT5 中删除了声子支持,因此我将播放波形文件的代码更改为使用 QSound。
改变非常简单。我只需要使用 QSound,它现在位于多媒体库中。这是代码:
对于我的大多数波形文件,这工作得很好;但是,对于我的波形文件(采样率为 44100Hz)它不起作用。
官方 QT 错误可以在这里找到。
更新:此错误已在 qt 5.1 中修复
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...)?
我的错误在哪里?
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 等效项。当然,我可以对它们进行硬编码,但我正在寻找一种以干净和独立的方式定义它的方法。
c++ - QListWidget 不允许图标大小大于 200
QListWidget::setIconSize
尺寸 > 200x200 似乎没有任何效果。是有意的,还是我做错了什么?文档中没有提到这种上限。是否存在限制图标大小的另一个属性?
我正在使用 Qt 5。
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):
参考:
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 设计师可能期望的一切,但我一无所获。而且我找不到任何可以明确解决我的问题的文档。