【MATLAB App Designer】關(guān)于uifigure的菜單欄顯示的問題
UIfigure的WindowStyle屬性
UIfigure的WindowStyle屬性有以下三種
'normal'
?— 圖形窗口獨立于其他窗口,在圖形顯示時可以訪問其他窗口。
'modal'
— 該圖形以正常窗口樣式顯示在所有現(xiàn)有圖形窗口的頂部,只要頂部圖形存在并保持模態(tài),就無法訪問它們。但是,將顯示在模態(tài)圖之后創(chuàng)建的任何新圖。當存在多個模態(tài)窗口時,最近創(chuàng)建的窗口保持焦點并保持在所有其他窗口之上,直到它變得不可見,或者返回到正常的窗口樣式,或者被刪除。那時,焦點恢復到上次獲得焦點的窗口。
'alwaysontop'
— 該圖形顯示在所有其他窗口的頂部,包括模態(tài)圖形窗口和來自非 MATLAB 應用程序的窗口。其他窗口仍然可以訪問。
菜單欄的顯示與隱藏
1.將WindowStyle屬性設置為modal,菜單欄則會在會隱藏

2.將WindowStyle屬性設置為normal/alwaysontop,菜單欄則會在會顯示出來

將WindowStyle屬性設置為normal
則通過程序打開選擇文件后,則該頂層顯示的窗口會在Windows窗口中置于底層,從matlab2020版本到現(xiàn)在,這個問題一直存在。
將WindowStyle屬性設置為alwaysontop
窗口居于頂層,但文件系統(tǒng)打開的彈窗則無法處于最頂層;下圖中“請選擇指定...”就是窗口打開的文件夾彈窗,但無法居于最頂層。

改進
通過normal和alwaysontop組合實現(xiàn),組合效果如下,中間函數(shù)為打開文件的函數(shù)

執(zhí)行效果為打開的文件窗口居于最高,選中文件后,窗口仍居中最頂層

備注
以上測試軟件為matlab 2021b版本
標簽: