Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt::X11BypassWindowManagerHint causing issues on QT5.X
Forum Updated to NodeBB v4.3 + New Features

Qt::X11BypassWindowManagerHint causing issues on QT5.X

Scheduled Pinned Locked Moved General and Desktop
1 Posts 1 Posters 1.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    crubel
    wrote on last edited by
    #1

    We have QMainWindow that we require to be ONTOP at all times on Linux. Following the QT doc we have setup the window flags as follows:

    QMainWindow(parent, Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint| Qt::FramelessWindowHint )

    While this does put the window ontop, the data inside the window does not update it stays frozen on the info put there at startup. Removal of the Qt::X11BypassWindowManagerHint allows the window to operate normally, it just does not stay ontop of all other Qt/X windows. On QT versions prior to QT5 this was working as expected.

    In the case of this window the window contains an OpenSceneGraph viewerWidget setup.

    MainWindow::MainWindow(QWidget *parent) :
    // QMainWindow(parent, Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint| Qt::FramelessWindowHint ),
    QMainWindow(parent, Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint ),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);

    run_app = 0;
    init_count = false;
    pod_on = false;
    
    QShortcut *shortcut = new QShortcut(QKeySequence("F4"), this);
    connect(shortcut, SIGNAL(activated()), this, SLOT(close()));
    
    _view = ui->graphic_view->add("POD HD");
    
    if( QFileInfo( ConvertPath("POD_HD_Config")+"pod_hd_config.ini" ).exists() )
        readConfig();
    
    connect(&_timer, SIGNAL(timeout()), this, SLOT(update()));
    _timer.start(16);
    

    }
    ...

    int main(int argc, char *argv[])
    {

    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    return a.exec();
    

    }

    Any hints would be appreciated...I can post more code if needed, but the code is property of our
    customer so I can only post snippets until I get a small selfcontained app created.

    Thank you,

    Curtis Rubel
    crubel@compro.net

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved