Windows 在预先存在的x平台项目中使用Qt?

Windows 在预先存在的x平台项目中使用Qt?,windows,macos,qt,cross-platform,Windows,Macos,Qt,Cross Platform,我有一个在Mac、Linux和Windows上运行的跨平台项目 现在,我想给它添加一个“本机”用户界面——能够显示一些弹出窗口(请求用户凭据)以及可能的文件打开对话框。通过本机,我的意思是我想使用系统内置的文件打开对话框-因此在Mac上显示Mac文件查找器,在Windows上显示shells文件打开窗口 Qt似乎很适合——它的示例表明它可以在所有平台上显示正确的对话框 但是,所有可用的Qt示例都从最基本的级别开始—假设整个项目都是在Qt中开发的。是否有可能以一种更特别的方式初始化和使用Qt:-我

我有一个在Mac、Linux和Windows上运行的跨平台项目

现在,我想给它添加一个“本机”用户界面——能够显示一些弹出窗口(请求用户凭据)以及可能的文件打开对话框。通过本机,我的意思是我想使用系统内置的文件打开对话框-因此在Mac上显示Mac文件查找器,在Windows上显示shells文件打开窗口

Qt似乎很适合——它的示例表明它可以在所有平台上显示正确的对话框


但是,所有可用的Qt示例都从最基本的级别开始—假设整个项目都是在Qt中开发的。是否有可能以一种更特别的方式初始化和使用Qt:-我想通过一些简单的导出(想想ShowLoginPopup)将我所有的Qt UI代码保存在一个单独的dll/dylib/so文件中。

我想最简单的方法是用另一种方式来实现——让Qt GUI驱动应用程序的其余部分。Qt是基于事件的,并且依赖于它的事件循环,所以您需要保持它的运行。

这确实不是一个选项。该应用程序已经有了一个事件循环和重构,这将是一个巨大的pita。当组合多个都坚持自己的事件循环的框架时——也许我可以在一个线程上运行Qt。我不知道除了windows之外,即使循环在OSs上是如何工作的。@Chris Becke。。。如果Qt代码的UI代码没有在程序的主(第一个)线程上运行,那么Qt代码就会被打乱。然而,除此之外,它在线程环境中也能很好地工作。你的应用程序运行的是什么事件循环?Qt与glib事件循环兼容。否则,您可以按照cjhuitt所说的那样对其进行线程化。您是否考虑过在两个独立的客户机之间使用XML RPC或DBUS连接的客户机/服务器体系结构?