我喜欢Qt是跨平台的,但我想制作一个应用程序,它将调用一些特定于Windows的.dll文件。有点像Google Chrome在Windows Vista / 7上使用玻璃一样(我知道Chrome不是使用Qt框架编写的,只是觉得这是一个很好的例子)。
在Qt中如何做到这一点?这可行吗?
在Qt中如何做到这一点?这可行吗?
没问题,你可以放心去做!Qt本身只是一个动态链接库,你可以在不同平台上调用它。只需链接你需要的DLL并调用即可。
如果你喜欢,使用Qt制作仅限于Windows的应用程序也没有问题。
#ifdef Q_OS_WIN
#include <windows.h>
void someWindowsSpecificFunc()
{
...
}
#endif // Q_OS_WIN
毫不畏惧地编写您的Win特定应用程序。 您可以利用所有想要的Windows DLL。 在这个意义上,Qt没有限制。 您仍将获得那些巧妙的Qt布局组件和可自定义的皮肤的优势。 在皮肤方面,没有比Qt更好的框架了。 您提供的所有可调整大小的对话框都会受到用户的喜爱。
当然,您可以直接从Qt代码中调用WinAPI函数,此时最好包含qt_windows.h而不是windows.h。
如果您只想将新的Windows 7功能添加到应用程序中,则最好使用专用的Qt附加组件。有一个名为Q7Goodies的附加组件可供使用。