日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab GUI编程技巧(十):ui figure函数创建可视化图窗

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab GUI编程技巧(十):ui figure函数创建可视化图窗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 🔗?運行環境:Matlab
  • 🚩?撰寫作者:左手の明天
  • 🥇?精選專欄:《python》
  • 🔥??推薦專欄:《算法研究》

💗 大家好🤗🤗🤗,我是左手の明天!💗

📆? 最近更新:2022 年 5 月 26 日,左手の明天的第?247?篇原創博客

📚?更新于專欄:Matlab GUI編程技巧


目錄

🚩UI Figure 屬性?

??窗口外觀

💗Color?-?背景色

💗WindowStyle?-?窗口樣式

💗WindowState?-?窗口狀態

??位置和大小

💗Position?-?UI 圖窗的位置和大小,不包括邊框和標題欄

💗Units?-?測量單位

💗Resize?-?可調整大小

??繪圖

💗Colormap?-?UIAxes?內容的顏色圖

💗Alphamap?-?坐標區內容的透明度映射

??鼠標指針

💗Pointer?-?指針符號

??標識符

💗Name?-?名稱

💗Icon?-?圖標源或文件

💗NumberTitle?-?使用帶編號的標題

🚩創建可視化圖窗

??語法

??示例

💗創建默認的 UI 圖窗

💗設置和訪問屬性

💗更改圖窗大小

💗創建模態 UI 圖窗

💗編寫 CloseRequestFcn 以確認關閉 UI 圖窗


UI 圖窗是在 App 設計工具中或通過?uifigure?函數以編程方式創建 App 的容器。可以通過屬性控制 UI 圖窗的外觀和行為。使用圓點表示法引用特定的對象和屬性:

fig = uifigure; fig.Name = 'My App';

🚩UI Figure 屬性?

??窗口外觀

💗Color?-?背景色

背景顏色,指定為 RGB 三元組、十六進制顏色代碼。

對于自定義顏色,請指定 RGB 三元組或十六進制顏色代碼。

  • RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度值必須位于?[0,1]?范圍內,例如?[0.4 0.6 0.7]。

  • 十六進制顏色代碼是字符向量或字符串標量,以井號 (#) 開頭,后跟三個或六個十六進制數字,范圍可以是?0?到?F。這些值不區分大小寫。因此,顏色代碼?'#FF8800'?與?'#ff8800'、'#F80'?與?'#f80'?是等效的。

此外,還可以按名稱指定一些常見的顏色。下表列出了命名顏色選項、等效 RGB 三元組和十六進制顏色代碼。

顏色名稱短名稱RGB 三元組十六進制顏色代碼
'red''r'[1 0 0]'#FF0000'
'green''g'[0 1 0]'#00FF00'
'blue''b'[0 0 1]'#0000FF'
'cyan''c'[0 1 1]'#00FFFF'
'magenta''m'[1 0 1]'#FF00FF'
'yellow''y'[1 1 0]'#FFFF00'
'black''k'[0 0 0]'#000000'
'white''w'[1 1 1]'#FFFFFF'

💗WindowStyle?-?窗口樣式

窗口樣式,指定為下列值之一:

  • 'normal'?- 此圖窗窗口獨立于其他窗口,并且在顯示圖窗時可以訪問其他窗口。

  • 'modal'?- 該圖窗以正常窗口樣式顯示在所有現有圖窗窗口的上方,并使這些窗口變得無法訪問(只要頂層圖窗存在并保持模態)。但是,任何在模態圖窗之后創建的新圖窗都會顯示出來。

  • 'alwaysontop'?- 圖窗顯示在所有其他窗口的頂部,包括模態圖窗窗口和來自非 MATLAB 應用程序的窗口。其他窗口仍可訪問。

UI 圖窗模態窗口樣式行為

當?WindowStyle?設置為?'modal'?時,UI 圖窗窗口會阻止在它之前創建的 UI 圖窗窗口中的鍵盤和鼠標交互,并將其?Visible?屬性設置為?'on'。例如,在下面的代碼中,圖窗 3 相對于圖窗 2 為模態圖窗,圖窗 2 相對于圖窗 1 為模態圖窗。

fig1 = uifigure('Name','Figure 1'); fig1.WindowStyle = 'modal';fig2 = uifigure('Name','Figure 2'); fig2.WindowStyle = 'modal';fig3 = uifigure('Name','Figure 3'); fig3.WindowStyle = 'modal';

💗WindowState?-?窗口狀態

窗口狀態,指定為下列值之一:

  • 'normal'?- 窗口顯示為正常狀態。

  • 'minimized'?- 窗口被折疊,但您仍可以執行命令來獲取或設置其屬性、添加子級或在窗口中創建繪圖。

  • 'maximized'?- 窗口填滿屏幕。操作系統提供的最小化、還原和關閉按鈕出現在窗口的角落。如果正常狀態下的窗口包含菜單,則它們在此狀態下也會顯示。

  • 'fullscreen'?- 窗口填滿屏幕。但是,操作系統提供的最小化、還原和關閉按鈕將被隱藏。如果正常狀態下的窗口包含菜單,則它們在此狀態下也會顯示。

??位置和大小

💗Position?-?UI 圖窗的位置和大小,不包括邊框和標題欄

UI 圖窗的位置和大小,不包括邊框和標題欄,指定為?[left bottom width height]?形式的四元素向量。

元素說明
left從主畫面左邊緣到 UI 圖窗窗口的內部左邊緣的距離。在具有多個監視器的系統上,該值可能為負數。
bottom從主畫面下邊緣到 UI 圖窗窗口的內部下邊緣的距離。在具有多個監視器的系統上,該值可能為負數。
widthUI 圖窗的左右內部邊緣之間的距離。
heightUI 圖窗的上下內部邊緣之間的距離。

💗Units?-?測量單位

測量單位,指定為下表中的值之一。

單位值說明
'pixels'(默認值)

像素。

以像素為單位的距離不依賴 Windows 和?Macintosh?系統上的系統分辨率:

  • 在 Windows 系統上,一個像素是 1/96 英寸。

  • 在?Macintosh?系統上,一個像素是 1/72 英寸。

在 Linux 系統上,一個像素的大小由系統分辨率確定。

'normalized'這些單位依據父容器進行歸一化。容器的左下角映射到?(0,0),右上角映射到?(1,1)。
'inches'英寸。
'centimeters'厘米。
'points'磅。1 磅等于 1/72 英寸。

💗Resize?-?可調整大小

可調整大小的 UI 圖窗,指定為?'on'?或?'off',或者指定為數值或邏輯值?1?(true) 或?0?(false)。值?'on'?等效于?true,'off'?等效于?false。

當此屬性設置為?'on'?時,UI 圖窗可調整大小。否則將無法調整其大小。

??繪圖

💗Colormap?-?UIAxes?內容的顏色圖

UIAxes?內容的顏色圖,指定為由 RGB(紅色、綠色、藍色)三元組組成的?m×3?數組,這些三元組定義?m?種單獨的顏色。

示例:?uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0])?將顏色圖設置為三種顏色:品紅色、藍色和黃色。

MATLAB 按行號訪問這些顏色。

💗Alphamap?-?坐標區內容的透明度映射

坐標區內容的透明度映射,指定為由介于?0?和?1(包含這兩個邊界值)之間的值組成的向量。該向量的大小可以是 m×1 或 1×m。MATLAB 通過 alpha 值在向量中的索引訪問 alpha 值。Alphamap 可以為任意長度。

??鼠標指針

💗Pointer?-?指針符號

指針符號,指定為下表中的值之一,或指定為?'custom'。符號的外觀與操作系統相關。

生成的符號(與系統相關)

'arrow'

'ibeam'

'crosshair'

'watch'(系統忙)

'topl'?或?'botr'

'topr'?或?'botl'

'circle'

'cross'

'fleur'

'left'?或?'right'

'top'?或?'bottom'

'hand'

??標識符

💗Name?-?名稱

圖窗的名稱,指定為字符向量或字符串標量。

示例:?uifigure('Name','Results')?將圖窗的名稱設置為?'Results'。

💗Icon?-?圖標源或文件

圖標源或文件,指定為字符向量、字符串標量或?m×n×3 真彩色圖像數組。如果指定文件名,它可以是 MATLAB 路徑中的圖像文件名或圖像文件的完整路徑。

支持的圖像格式包括 JPEG、PNG、GIF 和?m×n×3 真彩色圖像數組。

如果沒有足夠的空間顯示完整大小的圖標,MATLAB 會縮小圖像以適應空間。

示例:?'icon.png'?指定 MATLAB 路徑中的圖標文件。

示例:?'C:\Documents\icon.png'?指定圖像文件的完整路徑。

示例:?fig = uifigure('Icon','peppers.png')?使用指定的圖標圖像文件創建一個 UI 圖窗。

💗NumberTitle?-?使用帶編號的標題

指定為?'off'?或?'on',或者指定為數值或邏輯值?1?(true) 或?0?(false)。值?'on'?等效于?true,'off'?等效于?false。

將此屬性設置為?'on'?時,UI 圖窗的標題包含短語?'Figure n',其中?n?是數字。

NumberTitle?和?IntegerHandle?屬性都必須設置為?'on'?才能顯示標題中的數字。


🚩創建可視化圖窗

??語法

  • fig?= uifigure?創建一個用于構建用戶界面的圖窗并返回?Figure?對象。這是 App 設計工具使用的圖窗類型。
  • fig?= uifigure(Name,Value)?使用一個或多個?Name,Value?對組參數指定圖窗屬性。

??示例

💗創建默認的 UI 圖窗

fig = uifigure;

💗設置和訪問屬性

  • 創建具有特定標題的 UI 圖窗
fig = uifigure('Name','Plotted Results');

  • ?獲取該圖窗的位置、寬度和高度
p = fig.Positionans =680 678 560 420

💗更改圖窗大小

創建默認 UI 圖窗。

fig = uifigure;

獲取該圖窗的位置、寬度和高度。

fig.Positionans =681 559 560 420

這意味著圖窗窗口位于主顯示畫面左下角的右側 681 像素和上方 559 像素處,寬 560 像素,高 420 像素。

通過調整位置向量的第三個和第四個元素,將圖窗寬度和高度減半。

fig.Position(3:4) = [280 210];

💗創建模態 UI 圖窗

創建兩個 UI 圖窗窗口。通過將圖窗 2 的?WindowStyle?屬性值指定為?'modal'?來阻止圖窗 1 中的交互。請注意,在圖窗 2 關閉之前,您無法與圖窗 1 交互。

fig1 = uifigure('Name','Figure 1'); fig1.Position = [500 500 370 270];fig2 = uifigure('Name','Figure 2'); fig2.Position = [540 450 370 270]; fig2.WindowStyle = 'modal';

💗編寫 CloseRequestFcn 以確認關閉 UI 圖窗

編寫?CloseRequestFcn?回調,以便在用戶試圖關閉窗口時打開模態“確認”對話框。

function closeFig fig = uifigure('Position',[100 100 425 275]); fig.CloseRequestFcn = @(src,event)my_closereq(src);function my_closereq(fig)selection = uiconfirm(fig,'Close the figure window?',...'Confirmation');switch selectioncase 'OK'delete(fig)case 'Cancel'returnendendend

點擊圖窗中的關閉按鈕。“確認”對話框隨即打開。

💗更改鼠標指針符號

更改將鼠標懸停在普通按鈕上時顯示的鼠標指針符號。

此程序文件名為?setMousePointer.m,該文件可以做如下說明:

  • 創建一個 UI 圖窗,該圖窗在鼠標移至按鈕上時執行自定義代碼。為此,使用?@?運算符將?mouseMoved?函數句柄賦給該圖窗的?WindowButtonMotionFcn?屬性。

  • 創建一個普通按鈕,并指定其坐標和標簽。

  • 創建一個名為?mouseMoved?的回調函數,其中包含當鼠標移到該按鈕上時要執行的自定義代碼。在函數中,查詢?CurrentPoint?屬性以確定鼠標指針坐標。如果指針坐標在普通按鈕坐標內,則將?Pointer?屬性設置為?'hand'。

運行?setMousePointer。然后將鼠標移到該普通按鈕上,以查看鼠標指針符號從箭頭變為手形。

function setMousePointer fig = uifigure('Position',[500 500 375 275]); fig.WindowButtonMotionFcn = @mouseMoved;btn = uibutton(fig); btnX = 50; btnY = 50; btnWidth = 100; btnHeight = 22; btn.Position = [btnX btnY btnWidth btnHeight]; btn.Text = 'Submit Changes';function mouseMoved(src,event)mousePos = fig.CurrentPoint;if (mousePos(1) >= btnX) && (mousePos(1) <= btnX + btnWidth) ...&& (mousePos(2) >= btnY) && (mousePos(2) <= btnY + btnHeight)fig.Pointer = 'hand';elsefig.Pointer = 'arrow';endend end

?創建用于設計 App 的圖窗 - MATLAB uifigure- MathWorks 中國

🌟全文共5112個字,碼字總結不易,老鐵們來個三連:點贊、關注、評論🌟

🌟作者:左手の明天🌟

🌟原創不易,轉載請聯系作者并注明出處🌟

總結

以上是生活随笔為你收集整理的Matlab GUI编程技巧(十):ui figure函数创建可视化图窗的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。