问题标签 [qt-mfc-migration]
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++ - Qt/MFC 迁移框架工具:正确退出 DLL?
我在以下示例之后使用 Qt/MFC 迁移框架工具:http: //doc.qt.nokia.com/solutions/4/qtwinmigrate/winmigrate-qt-dll-example.html
我构建的 dll 由基于 MFC 的第 3 方应用程序加载。第 3 方应用程序基本上调用我导出的 DLL 函数之一来启动我的插件和另一个函数来关闭我的应用程序。目前我在关机功能中什么也没做。
当我在 3rd 方应用程序中加载我的 DLL 时,将调用启动函数并且我的 DLL 成功启动并且我可以看到我的消息框。但是,如果我关闭我的插件然后尝试再次启动它,我会收到以下错误:
这让我觉得我没有做任何事情来正确关闭我的插件。我需要做什么才能正确关闭它?
更新: http ://doc.qt.nokia.com/solutions/4/qtwinmigrate/winmigrate-walkthrough.html说:
DLL 还必须确保它可以在同一进程中与其他基于 Qt 的 DLL 一起加载(在这种情况下,QApplication 对象可能已经存在),并且创建 QApplication 对象的 DLL 保持加载在内存中以避免其他 DLL 使用进程不再可用的内存。
所以我想知道是否存在一些问题,无论如何我都需要以某种方式保持原始 DLL 的加载?
c++ - wxWidgets 有与 Qt 的 MFC 迁移框架相媲美的东西吗?
我想为基于 MFC 的第 3 方应用程序构建一个 DLL 插件。执行此操作的“官方”方法也是使用 MFC 构建插件。我正在寻找是否可以使用任何其他 gui 工具包来简化我的开发。我玩过 Qt 的 MFC 迁移框架 ( http://doc.qt.nokia.com/solutions/4/qtwinmigrate/ ),为此我取得了一些成功,但我遇到了障碍。现在我正在考虑替代方案。wxWidgets 是否支持构建将与 MFC 主机应用程序集成的 DLL?
java - 使用来自非 Qt DLL (JNA) 的 QTimer
我写了一个库(DLL)。Java 代码将我的 DLL 与 JNA 一起使用。在库中,我通过 QThread 派生类中的“new”创建 Qtimer。
但是,我有以下错误:
在没有 QApplication/QCoreApplication 的情况下,我应该如何正确使用 QTimer 从非 Qt 线程调用?
qt - Qt Win 迁移框架的链接错误:未解析的符号 QWinWidget::staticMetaObject
我正在尝试设置 Qt Win 迁移框架以在现有的基于 MFC 的应用程序中使用 Qt。我想将框架用作库,因此我qmake
在qtwinmigrate/buildlib/buildlib.pro
文件上运行以创建 Visual Studio vcxproj 项目文件。我将框架构建为 dll/lib 并将标头放在一个公共包含目录中。在我的 MFC 项目中,我添加了 Qt 迁移框架的库作为依赖项,在适当的地方包含了头文件,并添加了代码来测试框架。一切编译正常,但随后出现链接器错误:
错误 LNK2001:未解析的外部符号“公共:静态结构 QMetaObject const QWinWidget::staticMetaObject”(?staticMetaObject@QWinWidget@@2UQMetaObject@@B)
qt - 将 Mfc 与 Qt 模态对话框和主进程一起使用
我有一个 Mfc 应用程序,我想在其中打开一个 Qt 模式窗口,而 Mfc 应用程序仍在后面运行。
要从 Mfc 启动 Qt 应用程序,我知道了如何到那里。此页面创建了一个 Dll,但我的解决方案改为创建一个静态库。
至于创建一个 Qt 模态窗口,后面运行主应用程序,看起来很容易。
我的问题是看起来我无法将这两种解决方案结合起来。
以下代码启动 Qt 窗口,但我强烈怀疑我阻塞了我的主线程并且主线程无法接收事件。
exec 函数可能阻塞了主线程
以下解决方案不应阻塞主线程,但 Qt 窗口仅出现几毫秒并消失
那么,问题是,是否可以使用show函数代替exec函数?
(如果我正在创建一个 Dll 并从我的 Mfc 应用程序的工作线程中调用 Dll,则此方法有效,但我更喜欢使用静态库)
qt - 使用 show 而不是 exec 时 QWidget 不更新
在我的项目中,我需要在我的 Mfc 应用程序顶部创建一个非阻塞 QWizard。为此,我按照此处的说明进行操作(链接)
这样做有一个奇怪的副作用,当我单击 QWizardPage 中的 QRadioButton 时,我的 UI 似乎没有正确更新。请参阅以下屏幕截图:
1-我的 QWizard 的第一步。一切看起来都不错
2-我点击了一个 QRadioButton。看,“下一步”按钮处于奇怪的状态。
3-我点击了第二个 QRadioButton。看,两个 QRadioButton 看起来都被选中了。(是的,它们是互斥的!
4-现在,如果我在“鼠标悬停”、“下一步”按钮和 QRadioButton 上进行操作,这会强制更新,我的用户界面很好
我的问题是:使用 show 而不是 exec 时如何正确更新我的 UI?(我确实尝试使用 exec 并且我的 UI 正在正确更新)
我猜如果我使用 show,主线程不会更新我的 UI?
谢谢你。
编辑
这是实例化向导的函数的代码:
以下是我的 QWizard 课程:
编辑试图强制更新到目前为止没有解决问题
android - 发送通知背景 Firebase android
运行:发送https://fcm.googleapis.com/fcm/send
如果应用程序打开,则消息以正确的格式到达。如果 APP 是消息以错误的格式到达,它不会通过扩展 FirebaseMessagingService 的类的逻辑。
我必须通过关闭应用程序来获取消息 FCM 后台 simpre 开放格式。
可能是什么问题呢?
问候,