2012-11-07 96 views

回答

0

我從來沒有使用指南,但您可以通過編程創建uicontrols像這樣:

f = figure; 
nEdit = 10; 

for i = 1:nEdit 
    textEl(i) = uicontrol('Parent', f, 'Style', 'edit', 'Position', [0 (i-1)*30, 100, 20]) 
end 
0

分爲3個部分在你的問題。

要回答您的問題標題「在matlab指南中動態創建編輯文本框」我建議使用Slayton的解決方案並使用編輯文本框提示來創建一個新數字。如果你真的想要它在你的初始指導圖中,另一個解決方案是最初禁用它們/使它們不可見。然後在輸入導入函數的回調函數中,您可以決定要啓用多少個編輯文本框。

要回答你的問題

我在想,如果我們可以在運行時確定的matlab指南編輯文本框的數量?

hCell=struct2cell(handles); 
a=0; 
for i=1:length(hCell) 
    if strcmp(get(hCell{i},'Type'),'uicontrol') 
     if strcmp(get(hCell{i},'Style'),'edit') 
      a=a+1; 
     end 
    end 
end 
a%number of edit boxes 

你應該問一個「如果」更多,如果在你的「把手」結構:

在運行時,你可以用這種方式計算所有的文本框,在「手柄」結構你有一個非手柄...

關於你的消息的最後一部分,我不明白:

我不會生成一些編輯文本框。

+0

您也可以使用'findall'函數而不是double if構造現在我正面臨類似的問題... – Wli