原生的Qt 实现窗口置顶的方法 setWindowFlags(Qt::WindowStaysOnTopHint);
目前还不知道怎么实现取消窗口置顶,还请知道使用的哥们分享。
我通过window API实现窗口置顶与取消置顶操作,如下
HWND hwnd = (HWND)m_pCfgWnd->winId(); DWORD dwstyle = ::GetWindowLong(hwnd,GWL_EXSTYLE); DWORD err = GetLastError(); if (dwstyle & WS_EX_TOPMOST) { dwstyle &= ~WS_EX_TOPMOST; ::SetWindowLong(hwnd,GWL_EXSTYLE,dwstyle); ::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOREPOSITION|SWP_NOSIZE|SWP_SHOWWINDOW); } else { dwstyle |= WS_EX_TOPMOST; ::SetWindowLong(hwnd,GWL_EXSTYLE,dwstyle); ::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOREPOSITION|SWP_NOSIZE|SWP_SHOWWINDOW); }