问题标签 [qcoreapplication]

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 回答
17191 浏览

c++ - 如何使用 QCoreApplication::postEvent 注入合成输入事件

我将通过网络传入的键盘和鼠标事件注入我的 Qt 应用程序并QCoreApplication::postEvent用于此目的。鼠标坐标是绝对屏幕像素坐标。

最初我只有一个小部件(由 引用g_qtdraw.main.widget),所以我只是将那个小部件用作postEvent. 现在我的应用程序有多个小部件,上面的代码不再做我想做的事。

第二个小部件以全屏模式显示,我知道所有鼠标事件都必须转到此窗口,但使用上面的代码,它们仍会路由到主小部件。

如何选择正确的小部件作为接收器(鼠标 x,y 坐标下的那个)?有没有一种标准方法,以便 Qt 选择正确的小部件,还是我必须自己跟踪它?

0 投票
1 回答
446 浏览

qt - 如何在不使用 Qt 内部头文件的情况下压缩 QEvents?

由于迭代已发布事件列表所需的标头QCoreApplication::compressEvent被认为是私有的,有没有一种方法可以在不依赖 Qt 内部标头的情况下获得等效功能,而仅依赖于 Qt 的文档化语义?

请注意,这是另一个关于信号和插槽的问题!

0 投票
0 回答
66 浏览

qt4 - 请发送 QFont 替代类生成 PDF

Unhandled exception at 0x6523c5ec (QtGuid4.dll) in PdfGen.exe: 0xC0000005: Access violation reading location 0x00000008.

QFont对于with ,我得到了上述错误 QCoreapplication。qfont 生成 pdf 的任何替代方案

0 投票
0 回答
677 浏览

macos - 为什么 QMediaPlayer 在 Mac OS X 下不能与 QCoreApplication 一起使用

Qt 版本是 5.2,下面代码中的 QMediaPlayer 不起作用(不播放 .mp3 音频文件):

相同的代码在 windows 下工作,但是当使用 QGuiApplication 时,QMediaPlayer 将播放音频文件。

下面是.pro 文件,请注意,'gui' 用于'QGuiApplication'。

0 投票
2 回答
4820 浏览

c++ - Qt 应用程序无法启动,因为没有找到插件“windows”目录

我知道关于 Qt 的这个问题有几个答案(比如这个Qt 5.1.1: Application failed to start because platform plugin "windows" is missing)。我正在使用 Qt 5,但似乎这个问题也在其他版本中。

接受的答案不是我的问题,但是按照链接将平台目录复制到可执行文件的解决方案可以正常工作。但是我发现这个解决方案很不令人满意,因为这意味着我必须在整个地方分发这个相同的目录。在项目中,我必须将它复制到我创建的每个项目的调试/发布分支​​中。运行designer.exe我也有这个问题,所以我也得把它复制到那里,以此类推。

将我的 QT 安装目录中的插件目录放入 PATH 并没有解决问题,尽管我不太明白为什么。显然有一些自定义代码加载所需的插件 DLL。

所以我想知道是否有一些可接受的方式来正确地做到这一点,比如设置一个 QT_HOME 变量或类似的,所以我不必到处复制 DLL。

0 投票
2 回答
579 浏览

c++ - 在非 Qt 应用程序中使用 Qt 的信号 (C++)

我有很多使用 Qt 的现有代码,更具体地说是 Qt 信号和插槽来计时特定操作。

现在我需要在一个不是 Qt 应用程序的新应用程序中使用此代码(并且不能 - 我正在为 Visual Studio 编写一个插件)。无论如何 - 我怎样才能让现有代码实际拦截信号并激活相关插槽?

我是否需要以某种方式创建一个虚拟 Qt 应用程序?如果是这样 - 我如何使它处理信号而不成为我其余代码的阻塞循环?

0 投票
2 回答
358 浏览

c++ - Qt:告诉程序从与其所在目录相同的目录中读取其他文件

我有一个程序将几个不同的文件作为输入。
我只知道这些文件将与我的程序位于同一个文件夹中(而且我知道它们的名称)。

有没有办法写一个文件的路径只知道它的名字,并且它将与主程序在同一个文件夹中?

0 投票
1 回答
178 浏览

c++ - Qt 朗环境?

当我执行以下代码时,我遇到了关于 Qt Locale 环境的问题

即使我的计算机将其语言环境设置为法语,我也希望我的程序能够使用我们的标准打印格式(即42.5)进行编译。有没有办法通过编译器选项来做到这一点?

0 投票
2 回答
1648 浏览

c++ - 我如何从主函数获取'argc'和'argv'到QGLWidget

我的项目中有一个 QGLWidget 类,这是一个 opengl 类,在该类中我使用主类的“argc”和“argv”属性。但我无法将这些属性传递给我的班级,有一些方法吗?

这是使用 argv 和 argc 属性的类的构造函数的一部分:

和我的头文件:

0 投票
1 回答
1110 浏览

c++ - 在 QThread 中的 QCoreApplication 上调用 quit() 时出错

为了在一个单独的线程中创建一个 Qt 事件循环,从一个由 Java 编写的主应用程序调用的 DLL 中,我根据我在这里阅读的建议做了以下工作,效果很好:

要使用它,从主 Java 应用程序的线程调用的子例程只需要创建一个 ThreadStarter 对象,该对象将自动创建一个 ToolThread,其中运行一个 QCoreApplication:

然后我们可以用通常的方式实例化一个 QObject 类,将它移动到线程并使用 QMetaObject::invokeMethod 异步调用它的方法:

完成后,我们只需删除 ThreadStarter 对象,一切都被清理干净了。除了恼人的消息说

在启动时,它似乎满足了我的所有要求。

除了……(最后,这是我的问题)。

有时——而且到目前为止我还没有发现任何模式——我在关机过程中遇到错误。通常它发生在线路上

但有时在线

(当然是在线程的 run() 方法中执行,直到 ToolThreadGlobal::coreApp -> quit(); 完全执行后才返回)。

通常错误消息是简单的访问冲突;有时它更复杂:

我认为这是因为,一旦我向 QCoreApplication 发出 quit() 命令,我应该等待一段时间让它正确关闭事件循环,然后再删除它 - 就像通常调用 quit() 然后等待一样() 在一个普通的 QThread 上删除它。但是,QCoreApplication 似乎没有与 wait() 命令等效的功能,并且我无法实现 QTimer 来强制延迟,因为一旦我使用 quit() 关闭了事件循环,它就无法工作。因此,我不知所措。我有一个暗示,因为 QCoreApplication 是一个 QObject,我可以调用它的 deleteLater() 方法,但我看不出我应该从哪里调用它。

是否有专家足够了解 QCoreApplication 和 QThread 的来龙去脉,可以提出解决方案?还是我的设计方式存在根本缺陷?