15

I want to make my Qt Window stay on top. When setWindowFlags(Qt::WindowStaysOnTopHint) is executed, the window becomes hidden (on Windows 7).

I've also tried:

Qt::WindowFlags flags = windowFlags();
setWindowFlags(flags | Qt::WindowStaysOnTopHint);

And, it still does the same. What did I do wrong here?

swtdrgn
  • 1,154
  • 4
  • 17
  • 49

1 Answers1

22

Call show() after you set the flag:

Qt::WindowFlags flags = windowFlags();
setWindowFlags(flags | Qt::WindowStaysOnTopHint);
show();

Check out http://doc.qt.io/qt-5/qwidget.html#windowFlags-prop

fxam
  • 3,874
  • 1
  • 22
  • 32
  • Nothing wrong with this answer, just that: windowFlags / setWindowFlags is a child of the window you are using. So it might need to be ThisWindow.windowFlags() and ThisWindow.setWindowFlags(...) and ThisWindow.show() depending on your context. – Owl May 30 '19 at 08:37