2013-05-31 24 views
1

我有一個應用程序,在mainWindow(從QMainWindow繼承)創建一個childWindow(也繼承自QMainWindow)並且在運行時,兩個窗口都通過childWindow屏蔽mainWindow來啓動。在Qt應用程序中QMainWindows的排序

在主窗口()構造我

setCentralWidget(this); 

在Linux上,當mainWindow->標題欄的點擊時,主窗口被帶到前面,而在Windows這似乎並沒有工作。

爲了在不同平臺上獲得一致的行爲,我添加了一個installEventFilter()和mouseEventHandler來解決左鍵鼠標事件,但是我在鼠標事件處理程序中使用的方法都沒有幫助我實現所需的行爲。

void mainWindow::mouseReleaseEvent(QMouseEvent* mevent) 
{ 
    if (Qt::LeftButton == mevent->button()) 
    { 
    //this->raise(); 
    //this->show(); 
    //setCentralWidget(this); 

    } 
} 

當我按下(鼠標事件)標題欄時,如何切換到mainWindow()? Windows和Linux上的行爲有何不同,我如何使它保持一致?我在Windows和Linux上使用Qt-4.8.4的開源版本。

回答