C++学习(一六五)qt是如何决定使用何种操作系统窗口

本文探讨了C++ Qt框架如何根据操作系统决定使用哪种窗口。通过QPlatformIntegration实例化,特别是对于Windows系统,Qt支持Direct2D、Minimal、Offscreen、WebGL和Windows等类型的窗口,这些窗口在MSVC2017的plugins/platforms/qwindowsd.dll中创建。
摘要由CSDN通过智能技术生成

通过QPlatformIntegration *platformIntegration来创建。

创建windows窗口过程:

qtbase\src\plugins\platforms\windows\qwindowsglcontext.cpp
HWND QWindowsContext::createDummyWindow(const QString &classNameIn,
                                        const wchar_t *windowName,
                                        WNDPROC wndProc, DWORD style)
{
    if (!wndProc)
        wndProc = DefWindowProc;
    QString className = registerWindowClass(classNameIn, wndProc);
    return CreateWindowEx(0, reinterpret_cast<LPCWSTR>(className.utf16()),
                          windowName, style,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          HWND_MESSAGE, NULL, static_cast<HINSTANCE>(GetModuleHandle(0)), NULL);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值