首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gtkmm3 :等待css转换完成

Gtkmm3 :等待css转换完成
EN

Stack Overflow用户
提问于 2017-01-04 19:22:16
回答 1查看 97关注 0票数 0

我的问题与JavaScript无关,而与C++有关:

在gtkmm3中,应用程序外观由CSS管理,因此可以这样设置转换:

theme.css:

代码语言:javascript
复制
.purple {
transition: 500ms linear;
background-image: -gtk-gradient (radial,
    center center, 0,
    center center, 1,
    from (#FFB2E8),
    to (#80005A));
 }

main.cc:

代码语言:javascript
复制
   // Create and define the StyleContext
   CssProvider = Gtk::CssProvider::create();
   CssProvider->load_from_path (Glib::build_filename (UI_DIR, "theme.css"));
   Glib::RefPtr<Gtk::StyleContext> ButtonContext = button->get_style_context ();
   ButtonContext->add_provider (CssProvider,
                                GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
   // Assign new color
   ButtonContext->add_class ("purple");
   // Assign an intermediate color
   ButtonContext->remove_class ("purple");
   ButtonContexy->add_class ("green");
   // To something
   // ... ...
   // Change the color again
   ButtonContext->remove_class ("green");
   ButtonContext->add_class ("yellow")

使用此代码,用户只看到按钮的“黄色”状态,而不是前面的“黄色”状态,因为会跳过转换。如何显示所有的颜色变化一个接一个?

编辑:

我的应用程序是一个游戏,其中按钮是相应的颜色,他们的标签。该标签可以非常接近地更改多次,我希望用户能够看到这些更改,因此,可以看到每个状态之间的转换。所以,它不仅仅是一个闪光灯(我的例子并不完美,如果您想要整个应用程序的代码,您可以得到它这里)。

编辑2:

为了更好地解释我的问题,我修改了上面的代码和下面的句子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-05 04:34:14

你是想简单地让按钮发紫吗?如果是这样的话,您可以使用GLib::SignalTimeout设置一个超时,以获得您希望该按钮闪现的正确时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41471716

复制
相关文章

相似问题

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