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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

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


目錄

🚩UI Figure 屬性?

??窗口外觀

💗Color?-?背景色

💗WindowStyle?-?窗口樣式

💗WindowState?-?窗口狀態(tài)

??位置和大小

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

💗Units?-?測量單位

💗Resize?-?可調(diào)整大小

??繪圖

💗Colormap?-?UIAxes?內(nèi)容的顏色圖

💗Alphamap?-?坐標(biāo)區(qū)內(nèi)容的透明度映射

??鼠標(biāo)指針

💗Pointer?-?指針符號(hào)

??標(biāo)識(shí)符

💗Name?-?名稱

💗Icon?-?圖標(biāo)源或文件

💗NumberTitle?-?使用帶編號(hào)的標(biāo)題

🚩創(chuàng)建可視化圖窗

??語法

??示例

💗創(chuàng)建默認(rèn)的 UI 圖窗

💗設(shè)置和訪問屬性

💗更改圖窗大小

💗創(chuàng)建模態(tài) UI 圖窗

💗編寫 CloseRequestFcn 以確認(rèn)關(guān)閉 UI 圖窗


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

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

🚩UI Figure 屬性?

??窗口外觀

💗Color?-?背景色

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

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

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

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

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

顏色名稱短名稱RGB 三元組十六進(jìn)制顏色代碼
'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'?- 此圖窗窗口獨(dú)立于其他窗口,并且在顯示圖窗時(shí)可以訪問其他窗口。

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

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

UI 圖窗模態(tài)窗口樣式行為

當(dāng)?WindowStyle?設(shè)置為?'modal'?時(shí),UI 圖窗窗口會(huì)阻止在它之前創(chuàng)建的 UI 圖窗窗口中的鍵盤和鼠標(biāo)交互,并將其?Visible?屬性設(shè)置為?'on'。例如,在下面的代碼中,圖窗 3 相對于圖窗 2 為模態(tài)圖窗,圖窗 2 相對于圖窗 1 為模態(tài)圖窗。

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?-?窗口狀態(tài)

窗口狀態(tài),指定為下列值之一:

  • 'normal'?- 窗口顯示為正常狀態(tài)。

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

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

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

??位置和大小

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

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

元素說明
left從主畫面左邊緣到 UI 圖窗窗口的內(nèi)部左邊緣的距離。在具有多個(gè)監(jiān)視器的系統(tǒng)上,該值可能為負(fù)數(shù)。
bottom從主畫面下邊緣到 UI 圖窗窗口的內(nèi)部下邊緣的距離。在具有多個(gè)監(jiān)視器的系統(tǒng)上,該值可能為負(fù)數(shù)。
widthUI 圖窗的左右內(nèi)部邊緣之間的距離。
heightUI 圖窗的上下內(nèi)部邊緣之間的距離。

💗Units?-?測量單位

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

單位值說明
'pixels'(默認(rèn)值)

像素。

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

  • 在 Windows 系統(tǒng)上,一個(gè)像素是 1/96 英寸。

  • 在?Macintosh?系統(tǒng)上,一個(gè)像素是 1/72 英寸。

在 Linux 系統(tǒng)上,一個(gè)像素的大小由系統(tǒng)分辨率確定。

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

💗Resize?-?可調(diào)整大小

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

當(dāng)此屬性設(shè)置為?'on'?時(shí),UI 圖窗可調(diào)整大小。否則將無法調(diào)整其大小。

??繪圖

💗Colormap?-?UIAxes?內(nèi)容的顏色圖

UIAxes?內(nèi)容的顏色圖,指定為由 RGB(紅色、綠色、藍(lán)色)三元組組成的?m×3?數(shù)組,這些三元組定義?m?種單獨(dú)的顏色。

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

MATLAB 按行號(hào)訪問這些顏色。

💗Alphamap?-?坐標(biāo)區(qū)內(nèi)容的透明度映射

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

??鼠標(biāo)指針

💗Pointer?-?指針符號(hào)

指針符號(hào),指定為下表中的值之一,或指定為?'custom'。符號(hào)的外觀與操作系統(tǒng)相關(guān)。

生成的符號(hào)(與系統(tǒng)相關(guān))

'arrow'

'ibeam'

'crosshair'

'watch'(系統(tǒng)忙)

'topl'?或?'botr'

'topr'?或?'botl'

'circle'

'cross'

'fleur'

'left'?或?'right'

'top'?或?'bottom'

'hand'

??標(biāo)識(shí)符

💗Name?-?名稱

圖窗的名稱,指定為字符向量或字符串標(biāo)量。

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

💗Icon?-?圖標(biāo)源或文件

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

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

如果沒有足夠的空間顯示完整大小的圖標(biāo),MATLAB 會(huì)縮小圖像以適應(yīng)空間。

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

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

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

💗NumberTitle?-?使用帶編號(hào)的標(biāo)題

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

將此屬性設(shè)置為?'on'?時(shí),UI 圖窗的標(biāo)題包含短語?'Figure n',其中?n?是數(shù)字。

NumberTitle?和?IntegerHandle?屬性都必須設(shè)置為?'on'?才能顯示標(biāo)題中的數(shù)字。


🚩創(chuàng)建可視化圖窗

??語法

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

??示例

💗創(chuàng)建默認(rèn)的 UI 圖窗

fig = uifigure;

💗設(shè)置和訪問屬性

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

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

💗更改圖窗大小

創(chuàng)建默認(rèn) UI 圖窗。

fig = uifigure;

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

fig.Positionans =681 559 560 420

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

通過調(diào)整位置向量的第三個(gè)和第四個(gè)元素,將圖窗寬度和高度減半。

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

💗創(chuàng)建模態(tài) UI 圖窗

創(chuàng)建兩個(gè) UI 圖窗窗口。通過將圖窗 2 的?WindowStyle?屬性值指定為?'modal'?來阻止圖窗 1 中的交互。請注意,在圖窗 2 關(guān)閉之前,您無法與圖窗 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 以確認(rèn)關(guān)閉 UI 圖窗

編寫?CloseRequestFcn?回調(diào),以便在用戶試圖關(guān)閉窗口時(shí)打開模態(tài)“確認(rèn)”對話框。

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

點(diǎn)擊圖窗中的關(guān)閉按鈕。“確認(rèn)”對話框隨即打開。

💗更改鼠標(biāo)指針符號(hào)

更改將鼠標(biāo)懸停在普通按鈕上時(shí)顯示的鼠標(biāo)指針符號(hào)。

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

  • 創(chuàng)建一個(gè) UI 圖窗,該圖窗在鼠標(biāo)移至按鈕上時(shí)執(zhí)行自定義代碼。為此,使用?@?運(yùn)算符將?mouseMoved?函數(shù)句柄賦給該圖窗的?WindowButtonMotionFcn?屬性。

  • 創(chuàng)建一個(gè)普通按鈕,并指定其坐標(biāo)和標(biāo)簽。

  • 創(chuàng)建一個(gè)名為?mouseMoved?的回調(diào)函數(shù),其中包含當(dāng)鼠標(biāo)移到該按鈕上時(shí)要執(zhí)行的自定義代碼。在函數(shù)中,查詢?CurrentPoint?屬性以確定鼠標(biāo)指針坐標(biāo)。如果指針坐標(biāo)在普通按鈕坐標(biāo)內(nèi),則將?Pointer?屬性設(shè)置為?'hand'。

運(yùn)行?setMousePointer。然后將鼠標(biāo)移到該普通按鈕上,以查看鼠標(biāo)指針符號(hào)從箭頭變?yōu)槭中巍?/p> 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

?創(chuàng)建用于設(shè)計(jì) App 的圖窗 - MATLAB uifigure- MathWorks 中國

🌟全文共5112個(gè)字,碼字總結(jié)不易,老鐵們來個(gè)三連:點(diǎn)贊、關(guān)注、評(píng)論🌟

🌟作者:左手の明天🌟

🌟原創(chuàng)不易,轉(zhuǎn)載請聯(lián)系作者并注明出處🌟

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。