2012-02-07 84 views
1

我有一定的QWidget派生類。Qt 4.8 QWidget的變化?

看看我給它的窗口標誌。在我的應用程序它的功能就像下拉組合框的組件:

setWindowFlags(Qt::FramelessWindowHint | Qt::Popup); 

有了Qt 4.7.4中,「FocusOutEvent」是,當我點擊widget外的調用,即使點擊的是窗口標題。我使用該事件來隱藏我的小部件。這是我希望看到的理想行爲。然而,使用4.8,當在非焦點接收元件和/或我的窗口標題上點擊我的小部件外,「FocusOutEvent」永遠不會被調用,因此它仍然存在。我實際上可以將窗口從我仍然可見的彈出窗口小部件中拖出。

在Qt 4.8中發生了一些變化。有沒有辦法解決它?

+0

的傳統技術沒有在這裏工作。沒有鼠標抓取,沒有eventFilter。 Qt沒有得到任何事件,當我點擊我的OSX窗口標題。我顯示彈出窗口,抓住我的OSX窗口標題,並將窗口從仍然打開的彈出窗口中移開。對我而言,這是Qt 4.8中引入的一個新交易斷言器錯誤。 Qt 4.7.4運行良好,只要我點擊窗口標題,彈出消失。我不情願地被迫回到4.7.4。可憐。 – JasonGenX 2012-02-07 21:56:29

+0

編寫一個錯誤報告。 – ypnos 2012-02-07 23:35:06

+0

已提交https://bugreports.qt-project.org/browse/QTBUG-24162 – JasonGenX 2012-02-08 17:42:59

回答