此頁麵包含的信息有關 Qt for Windows .
The
configure
option -qtlibinfix cannot take a version number as an argument. For example:
-qtlibinfix 5.6.0
should be specified as
-qtlibinfix QtCore5.6.dll
.
把 Qt 安裝到帶空格的目錄下,例如 C:\Program Files ,可能導緻像以下的鏈接器錯誤:
c:\program.obj not found
把 Qt 安裝到不帶空格的子目錄下,能避免此問題。
存在已知問題,當運行 Microsoft NetMeeting、Lotus SameTime 及其它在直接渲染被啓用的時候要求抓取屏幕的應用程序時。其它 GL 應用程序可能不會如期望般工作,除非直接渲染被禁用。
Visual C ++ 鏈接器不理解帶空格的文件名 (例如 C:\Program files\Qt\ ) 所以必須把它移至另一位置,或自己明確設置路徑。
QTDIR=C:\Progra~1\Qt
若使用修改 Structure 和 Union 成員對齊的特殊標誌時遇到奇怪問題 (譬如
/Zp2
) 那麼就需要采用為應用程序設置的標誌重新編譯 Qt。
當窗口使用基於 OpenGL 的錶麵並以全屏方式齣現時,屬於應用程序的其它頂層窗口可能發生問題。由於 Windows DWM (桌麵窗口管理器) 的局限性,基於 OpenGL 的窗口閤成未被正確處理,當進入全屏模式時。因此,其它頂層窗口不會被放置在全屏窗口的頂部,當它們變得可見時。例如,菜單可能未正確齣現,或對話框無法展示。
窗口可以明確使用基於 OpenGL 的錶麵,當 setSurfaceType() 被調用,或當要求 OpenGL 的東西在窗口中被使用,導緻整個窗口基於 OpenGL。例如 QOpenGLWidget or QQuickWidget 可以觸發這。不管怎樣,若錶麵包含在 QWindow 其托管采用 createWindowContainer() ,或使用過時的 QGLWidget 且它確實覆蓋瞭整個全屏窗口,此問題就不會發生。
要解決此問題,可以使用 QWindowsWindowFunction 以啓用本機窗口標誌,設置
WS_BORDER
當以全屏方式展示時。這可以利用如下所示:
QWindowsWindowFunctions::setHasBorderInFullScreen(tlwWindow->windowHandle(), true);
這將給予全屏窗口 1 像素邊框,從而使其它頂層窗口能夠齣現在頂部。