2
我正在尋找一種方法來控制從QMenu中打開子菜單的方向。默認行爲是向右打開,除非沒有足夠的屏幕空間,然後向左打開。PyQt QMenu下拉方向
如果屏幕最右側有一個菜單(例如:chrome的設置扳手),如果您有多個嵌套菜單,默認行爲將導致它們在從左側打開到打開從右邊看,這是一種瘋狂的用戶體驗。
我想要的是一種告訴QMenu總是打開子菜單到左邊的方法;在QMenu中絕對沒有直接的控制,但Qt經常爲特定於平臺的行爲設置很多神奇的「應用程序」或「全局」設置。我想知道有沒有人知道!
我在C#中使用ToolStripMenu完成了這個before,所以我知道一些工具包有這個能力。
這幾乎是一個整潔的解決方案,但它不能完全爲我工作在Linux上。頂層菜單打開到左側,但子菜單不會 - 即使我向其應用setLayoutDirection時也不會。 – ekhumoro 2012-01-06 17:38:13
@ekhumoro:這很有趣。我在Ubuntu上測試了這個。無論我如何設定方向,他們都表現出「LeftToRight」。我甚至將'QApplication'的方向設置爲'RightToLeft',它應該傳播給孩子,它確實如此,但沒有運氣。也許Linux取決於語言環境取代了這個?雖然我不確定,因爲我不是一個Linux用戶...... – Avaris 2012-01-06 18:52:14
這是我可以跨平臺工作的最佳解決方案。它不像C#那樣在LHS上顯示圖標,但它確實給出了正確的行爲。 – guyincognito 2012-05-21 23:30:29