4
我有一個QFormLayout,左邊的小部件是QLabels,右邊的小部件是各種類型的。我希望在鼠標進入任意部分時得到通知,因此我可以在狀態欄中顯示該行的解釋。Qt:如何在QFormLayout中徘徊一行時得到通知?
目前我有一個叫做HoverableLabel的QLabel子類,它暴露了「mouseEntered」和「mouseLeft」信號(在我的enterEvent和leaveEvent的重新實現中發出)。這工作,但:
- 行之間的利潤率不觸發信號
- 空間上(右對齊)標籤的左邊不上觸發信號
- 窗口小部件因爲我沒有打擾到子類他們的所有
什麼是Qt的祝福的做法對這類問題的正確不觸發信號?
有些事情我能想到的:
- 充分利用的FormLayout的母公司是過濾所有鼠標移動事件的窗口小部件(鼠標跟蹤?),並檢查是否鼠標已經進入了一些列。
- 將formlayout更改爲QVBoxLayout,並將行放入一些自定義小部件(如FormRowWidget)中,該小部件可同時處理懸停事件和窗體對齊內容。
兩者都不是很好。
提示:添加您的解決方案作爲答案,並接受它,如果你自己解決了你的問題。 – Macke 2010-10-26 20:29:40