问题标签 [qt5.3]

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 投票
1 回答
541 浏览

boost-test - Boost单元测试Qt信号

使用 Boost Unit Test 框架对 C++\Qt 代码执行单元测试。

我们基本上使用 BOOST_FIXTURE_TEST_CASE 宏,如文档中所示。对于每个测试,我们创建一个 QApplication 实例来设置事件循环并使测试代码能够使用信号和插槽。

现在我们需要测试是否发出信号。有没有人有这个问题的经验?BOOST_FIXTURE_TEST_CASE 生成的类不包含 Q_OBJECT 并且不是从 QObject 派生的,我猜这将是一个问题。感谢有关此问题的一些意见。

0 投票
1 回答
161 浏览

c++ - QGraphicsView 问题

我不明白发生了什么:当我直接创建 QGraphicsView 对象并使用像素图添加场景时,一切正常,像素图出现在屏幕上:

但是,当我尝试继承 QGraphicsView 类以重新实现事件时,什么也没发生,我得到了没有像素图的白屏,但​​是像更改光标这样的事件正在工作:

.h 文件:

.cpp 文件:

告诉我是否遗漏了什么,提前谢谢。

0 投票
2 回答
729 浏览

c++ - QButtonGroup setExclusive() 问题

我正在尝试将几个 QPushButton 组合到 QButtonGroup 中并进行排他检查,但是在启动后我仍然可以检查多个按钮。

我认为,它只需要处理一些事件。如果是真的,具体是哪些事件?提前致谢。

0 投票
0 回答
621 浏览

qt - QTableView 无缘无故失去焦点

我一直试图弄清楚为什么会发生这种情况,但徒劳无功。我有一个 QTableView,每列都有不同的委托(QStyledItemDelegate 继承的类)。我在另一个视图中测试了代表,他们工作正常。

我的问题是,当我单击 QTableView 中的一个单元格时,它会选择该单元格并开始编辑,但之后立即失去焦点导致编辑器关闭。

我本可以包含代码,但它相当多,所以我选择不包含,因为我认为它不会有帮助。

我的问题是,当我点击一个单元格时,如何检测是什么让我的 QTableView 失去焦点?

任何帮助表示赞赏。

0 投票
1 回答
1755 浏览

qt - 绑定到导入的 Javascript 属性

如何绑定到 Javascript 资源?

我是 QML 的新手,可能正在以错误的方式思考这个问题,但在下面的示例中,我希望按钮在按下时显示“世界”。

main.qml

模型.js

我也尝试使用 a Qt.binding,但没有任何区别。

main.qml

我正在寻找的最终结果是在专用 Javascript 资源中拥有属性,例如窗口高度、颜色和图像路径等,并让使用它们的任何项目与对资源所做的任何更改保持同步。

编辑

发现了一个相关的问题:在 QML 中为其他 QML 文件声明全局属性

0 投票
1 回答
750 浏览

c++ - 在派生类中调用父类的绘画事件?

QDockWidget派生类中,我启用样式表支持,如下所示:

问题:我是否必须调用父类paintEvent或者这是错误的(如果是,请详细说明)。在原始代码示例中,调用父函数,但我想知道这是否正确?它会错过那里的任何功能,不是吗?

备注:上面的代码允许使用带有派生类的样式表,如: Qt stylesheet in derived class in C++ namespace (selector)

0 投票
1 回答
734 浏览

qt - 在 QT 中显式调用paintGL

在 Qt 中,由于这篇文章中提到的事件,paintGL 方法会被自动调用: 什么时候调用 QGLWidget 的paintGL?. 如果我需要从类函数之一显式调用paintGL 方法,我需要做什么。void CubeView::update() { QMatrix4x4 世界;双 posx=drawcursor(); world.translate(posx,0,0); 立方体->setLocalTransform(世界);std::cout<<"嗨\n"; // QGLPainter 绘制;//paintGL(&paint);

这是对我之前的问题的跟进,因为我现在已经清楚了一些事情。

1.在qt中不能显式调用paintGL方法。2. QGLView 类没有updateGL 方法——QGLWidget 有。

基于这些,我的问题是:

  1. 我可以在 qt3d 中使用 QGL 小部件类吗?我可以在这里使用 QGL builder 等所有功能吗?
  2. qglview 中是否有任何方法可以替代 updategl 方法?在调用paintgl 类之前查看的某些方法?每次在paintgl之前检查的一些功能。
0 投票
0 回答
485 浏览

c++ - C++ 代码分布:故障模块 ntdll.dll

我在 Windows 8 机器上使用 VisualStudio 2013 构建了一个 c++ win32 控制台应用程序。它在我的笔记本电脑上运行顺畅。然而,当我在另一台 Windows 8 笔记本电脑上尝试分发版本时,myproj.exe 文件崩溃了。查看“事件查看器”后,我发现:

所以,我开始在第二台机器上安装 VisualStudio Express 和 Qt5 来编译我的代码。在开始新构建之前,我尝试了 myproj.exe,令人惊讶的是它运行良好。到目前为止,搜索不同的论坛并没有帮助。在分发我的代码之前,我非常感谢任何潜在原因的提示。

0 投票
0 回答
481 浏览

dll - 使用 Qt 5.3 部署 C++ 应用程序链接时出现 0xc000007b

我正在开发一个动态链接 Qt、boost 和 Assimp 的 C++ 应用程序。我使用 /MD 在发布模式下编译它,它在我的计算机上运行良好。但是,如果我尝试在另一台机器上运行它,我会收到 0xc000007b 错误(应用程序无法正确启动)。我在两台机器上都使用 Windows 8.1,但 Qt5.3 和 VisualStudio2013 只安装在第一台机器上。

我建立了提升

然后我使用 Cmake GUI 为 Assimp 配置/生成解决方案,我后来使用 Visual Studio 2013 构建了该解决方案。Qt(32 位版本)是通过在线安装程序安装的。所以一切(包括我的应用程序)都是用 32 位目标构建的。

我复制到另一台机器的文件夹包括:

  • 我的应用程序
  • 平台/
  • 无障碍/
  • assimp.dll
  • icudt52.dll
  • icuint52.dll
  • icuuc52.dll
  • kernel32.dll
  • opengl32.dll
  • libEGL.dll(在 Qt/5.3/msvc2012_opengl/ 中找不到)
  • libGLESv2.dll(相同)
  • msvcp1XX.dll
  • msvcr1XX.dll
  • 我需要的 Qt 库(Core、GUI、Widgets、OpenGL)

如果我从 Qt/5.3/msvc2012_opengl/ 复制这些 .dll/文件夹,则应用程序需要 msvcp110.dll 才能启动。如果我添加并运行它,我会收到 0xc000007b 错误。但是为什么是 msvcp110.dll 而不是 msvcp120.dll ???

如果我从 Qt/tools/QtCreator 复制文件,应用程序实际上需要 msvcp120.dll 才能运行。但是当它运行时,它一开始就崩溃了:

我想这是正常的,因为你不应该从这个位置复制它们。

有谁知道我做错了什么?

PS:在运行我的应用程序之前,我还在没有 VS2013 的机器上运行了 vcredist_x86.exe。它安装成功,但没有任何改变。

感谢您的时间和帮助!

0 投票
1 回答
1573 浏览

qt - ListView 中的动画捕捉

我想在ListView捕捉到特定项目时为“捕捉”效果设置动画。

我启用了snapMode: ListView.SnapOneItem属性的“捕捉”。目前它只是减速到当前项目并停止,但如果我能让它在停止时产生“反弹”效果,那就太好了。

关于我如何做到这一点的任何想法?

Flickable有一个rebound属性,但这似乎不适用于在ListView.