首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Fl_Slider中按值设置Fl_Input

如何从Fl_Slider中按值设置Fl_Input
EN

Stack Overflow用户
提问于 2017-04-09 20:25:28
回答 1查看 200关注 0票数 0

我尝试从Fl_Input读取值,并使用下面的代码设置Fl_Slider,但是有些东西不起作用!我不确定手术的事

谢谢你帮忙!

代码语言:javascript
复制
FL_Value_Input* vinput;

void set_slider(FL_Widget* w, void* v)
{
Fl_Slider* slider = (Fl_Slider*)w;
slider->value(vinput->value());
}


int main(){


    Fl_Window *window = new Fl_Window(100, 100, 600, 400, "callback");
    window->begin();

    Fl_Value_Input *vinput = new Fl_Value_Input(40, 40, 40, 40);
    vinput->textsize(30);

    Fl_Button *button = new Fl_Button(160, 40, 120, 40, "Set slider");
    button->labelsize(15);

    Fl_Slider *slid = new Fl_Slider(40, 200, 400, 30);
    slid->slider(FL_UP_FRAME);
    ((Fl_Widget*)slid)->type(FL_HOR_NICE_SLIDER);
    slid->bounds(10, -10);
    slid->slider_size(10);
    slid->range(-10, 10);
    slid->step(1);
    slid->value(0);

    button->callback(set_slider);

    window->end();
    window->show();
    return Fl::run();

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 07:36:31

在按钮回调中设置滑块--小部件是按钮:而不是滑块。另外,你所指的是全球性的,而不是主要的本地的。

若要修复,请将具有输入和滑块的结构传递给回调。

代码语言:javascript
复制
// Create a structure for input and slider
struct Info
{
    FL_Value_Input* vinput;
    FL_Slider* slider;
}

// Callback
void set_slider(FL_Widget* w, void* v)
{
    Info* info = (Info*) v;
    info->slider->value(info->vinput->value());
}
....
// Declare Info in your main code
Info info;

...
info->vinput = new Fl_value_input...
...
info->slider = new Fl_slider...
...
button->callback(set_slider, (void*)&info);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43311552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档