【问题标题】:Creating 0-100 percent object in Matlab GUI在 Matlab GUI 中创建 0-100% 的对象
【发布时间】:2015-01-26 19:53:03
【问题描述】:

我目前正在为我的 Matlab 程序创建一个 GUI(图形用户界面),在其中一个程序中,其中一个参数是整体的百分比。 我想要做的是,创建某种形式的对象,呈现从 0 到 100 的数字,并且用户每次按下箭头按钮都会将数字增加 1 或减少 -1。 有没有这样的对象可以帮助我做到这一点?以及如何创建它?

【问题讨论】:

  • 您是指面向对象编程中的对象还是图形中的图形元素?这可以通过单个 WindowKeyPressFcn 轻松完成,无需借助 matlab OOP。
  • 不是 WindowKeyPressFcn 的目的,以便用户按下他的键盘并在 GUI 上发生吗?
  • 用户按下一个键盘按钮并评估此功能。这不是你需要的吗?看我的回答。如果这不是您正在寻找的 - 请在您的问题中更加准确。

标签: matlab user-interface


【解决方案1】:

这是你要找的东西吗:

function test_perc

figh = figure();
% create a text control that will display the 0 - 100 text
texth = uicontrol('Style', 'text', 'Units', 'normalized', ...
    'Position', [0.1, 0.1, 0.8, 0.8], 'FontSize', 56, ...
    'String', '0');
% set a function that handles key presses (uses handle to the text object)
set(figh, 'WindowKeyPressFcn', @(hobj, ev) percfun(ev, texth));

function percfun(ev, texth)
% check if leftarrow or rightarrow has been 
% pressed and modify text accordingly 
if strcmp(ev.Key, 'leftarrow')
    val = max(0, str2num(get(texth, 'String')) - 1);
    set(texth, 'String', num2str(val));
elseif strcmp(ev.Key, 'rightarrow')
    val = min(100, str2num(get(texth, 'String')) + 1);
    set(texth, 'String', num2str(val));
end

上面的代码创建了一个figure 和一个uicontrol,样式为'text'。然后将图形设置为使用特定功能 (percfun) 响应按键 (WindowKeyPressFcn),该功能通过设置 uicontrol 的文本来响应箭头。 如果您有任何问题 - 问,我会解释。

【讨论】:

    猜你喜欢
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多