问题标签 [qlibrary]
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.
qlibrary - Qt shell32.dll ShellExecute 一个奇怪的行为。如何显示文件?
我有一些代码定义如下:
此代码按我的意愿启动文件,但立即爆炸。新窗口保持打开状态。
我有另一个版本,像这样:
这段代码不会爆炸。请注意,我什至不需要调用 b.exec()。但是,如果我调用 b.exec(),则会显示值 42。
有人能告诉我这里出了什么问题以及我能做些什么来解决它吗?
谢谢。
编辑:
对于后人来说,这里的前提是错误的。Qt 提供了我需要的确切功能,而无需特定于平台的代码。请参阅已接受的答案。
qt - 在 Qt 中正确使用 QUID 吗?(7-Zip DLL使用问题(QLibrary、Quuid GUID转换、接口))
我正在尝试编写一个程序,该程序将使用 7-Zip DLL 从内部存档文件(7z、zip 等)中读取文件。
这是我到目前为止的位置:
尝试在 Qt Creator 中构建它会导致以下错误:
无法在参数传递中将“Quuid*”转换为“const GUID*”
在这种情况下应该如何正确使用 QUID?
此外,作为 C++ 和 Qt 新手,我还没有完全掌握模板或接口,所以总的来说,我在完成这些第一步时遇到了麻烦。如果有人可以提供提示甚至示例代码,例如如何从 ZIP 文件中提取图像文件(稍后将在 Qt GUI 中显示*),我将不胜感激。
- 我目前的主要目标是编写一个带有 GUI 的程序,用于选择包含图像文件(PNG、JPG 等)的存档文件,并在 GUI 中一次显示一个文件。简而言之,基于 Qt 的 CDisplayEx。
javascript - Node.js 应用程序的结构和流程
我刚刚完成了我的第一个 Node 应用程序的编写。它运行良好,但是当我从社区阅读更多内容并吸收详细信息时,我得出的结论是,我的应用程序与我正在阅读的示例有点不同。
所以我更深入地寻找解决方案并阅读了很多 howtonode.org。我偶然发现了控制流、承诺和 Q 库的概念。我开始消化这一切,我想我明白了,但我想确认我的研究和发现。在我决定使用 Qlibrary 重组所有内容之前,我想知道我是否至少已经掌握了我的核心应用程序和方法,它基本上将代表我在这一点上如何前进。
应用程序.js
控制器.js
我采取了将我所有的库和重要组件封装在应用程序变量中的方法,并将其传递到我的控制器中,这样我就可以直接调用引用,并且在每个回调之间只传递一个变量。
对于之后的每个请求,我都从我附加到 app.js 中 pre 的请求值访问 app 变量(因此路由回调函数中的 request.app.model() 函数。
我想知道我是否应该关注以这种方式构建我的代码。它使来回传递引用变得非常容易,而不必担心全局变量或任何类似的东西。我读到了一些类似的东西,有人暗示这是一个聪明的方向,因为它确实有助于命名空间和解决整个全局变量声明问题(这是一个很大的禁忌)。
如果我被推向正确的方向,我认为 Q 库和其他一切都会很好地到位。
谢谢!
qt - Qt 和链接到外部 DLL
我已经开发了一个程序,我正试图使这个程序与其他公司制造的可控光源一起工作。我已经给公司发了电子邮件,他们同意将他们的外部库作为 DLL 发送给我。
我已经使用Qt 4.8.1开发了我的所有软件,并且已经使用MSVC2008进行了编译。
可控灯的 DLL 在 Visual Studio 2008 中编译,用 C++ 或 C# 编写(制造商不确定)。我得到的只是 DLL 和一个文本文件,说我必须:
- 添加 DLL 作为对我的项目的引用
- 添加
using LightName;
到班级顶部 - 像这样实例化对象的实例:
LightName *ln = new LightName();
- 使用新创建的 LightName 实例调用函数 void turnOn()。
首先,我觉得奇怪的是外部库需要我实例化他们的对象的一个实例,尤其是当它用于一个简单的硬件时。
其次,对方公司没有给我提供接口文件。
我的问题是: 如果没有 Qt 环境中的接口头文件,我怎么可能链接到 C++ DLL 并公开嵌套在这个库中的函数?有没有办法为外部库制作接口?
我已经尝试使用QLibrary并执行以下操作:
但是,这不起作用,因为给我的 DLL 不是 C DLL,而且我没有接口,所以 Qt 不知道它需要解析哪些符号。
我尝试使用 dumpbin /EXPORTS 命令显示从我的 DLL 导出的所有定义。不幸的是,这无法产生任何东西。我希望我能从中得到某种被破坏的 C++,然后我可以整理出自己的标题。
我尝试使用依赖walker(非常有用的工具),但是它无法解析任何符号来给我一些函数定义。
segmentation-fault - QLibray 分段错误
我尝试使用外部库。当我从这个库调用函数时,它工作正常。但是后来我尝试在循环中调用这个函数我有分段错误。代码例如:
我做错了什么?
c++ - c ++ Qt:从dll中捕获段错误
我正在使用 QLibrary 加载外部 dll。在某些情况下,dll 只是崩溃(段错误)。DLL 不会引发异常。处理这个问题的最佳方法是什么?我读到我需要在单独的进程/线程中运行。这是唯一的选择吗?
干杯,米
qt - 使用 QLibrary 加载具有依赖关系的库
假设我有两个库,A.dll
并且B.dll
. 该库A
依赖于B
. 我想加载A
到我的项目中。
我的项目在C:/Project
. 如果我同时保留A.dll
和B.dll
,C:/Project
我可以加载A
:
这工作正常。但是,如果不在 in 中,load()
将返回 false 。B.dll
C:/Project
问题是我想同时保留A.dll
和B.dll
。C:/Project/lib
但是当我将两个库移动到该位置并尝试加载时:
它失败。但是,如果我保持A.dll
inC:/Project/lib
和B.dll
in ,这将有效C:/Project
。
如何保留两个库C:/Project/lib
并A.dll
成功加载?
编辑:我得到的错误信息是"Cannot load library C:/Project/lib/A . The specified module could not be found."
c++ - QLibrary - 导入一个类
我有一个 QT 库,我想将它导入另一个项目。
现在,既然我想要那样,即使我修改了库,其他项目也不需要再次编译,我开始使用 QLibrary。
但是...我无法导入课程。或者更好的是,我可以导入类,但不能访问它的方法。
这是我做的例子。
这是类声明:
这是实现:
虽然这是主文件,但在另一个项目中:
现在,我可以访问a
对象的所有数据b
值(c
myClassInstance
myClassInstance->getValues()
我该如何解决这个问题?是否可以从导入的类中调用方法?
谢谢..
c++ - 从库 (DLL) 函数访问 ui 指针
大家好,我想从非成员函数更新 ui。除了将“this”指针作为我的非成员传递之外的任何帮助都是来自库的回调。
下面是我的代码:
主窗口.cpp
所以我需要的是我应该能够从我的非成员回调中将数据附加到 UI。请帮我。
编辑:我不允许修改我的回调
根据评论编辑:callback
将在不同的线程中调用,因此从那里调用小部件方法会出错'cannot send events to objects owned by a different thread'
c++ - QLibrary 无法解析共享库中的函数
我正在尝试从使用 Qt 创建的共享库中动态包含函数。我使用 QLibrary 来做到这一点。但是我有以下问题:当我尝试调用 QLibrary::resolve() 方法时,它总是返回 0。
这是我的共享库的头文件qtarithmetic.h :
这是我的共享库的 cpp 文件qtarithmetic.cpp :
这是使用我的库的测试项目的.pro文件:
这是这个测试项目的.cpp文件:
library.errorString()包含以下信息: