我的问题不涉及JavaScript,而是C ++:
在gtkmm3中,应用程序外观由CSS管理,因此可以设置转换:
theme.css:
.purple {
transition: 500ms linear;
background-image: -gtk-gradient (radial,
center center, 0,
center center, 1,
from (#FFB2E8),
to (#80005A));
}
main.cc:
// 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")
使用此代码,用户只能看到&#34;黄色&#34;按钮的状态,而不是之前的状态,因为跳过了转换。 如何一个接一个地显示所有颜色变化?
编辑:
我的应用程序是一款游戏,按钮的颜色与其标签相对应。此标签可以非常接近地更改多次,我希望用户看到这些更改,以便查看每个状态之间的转换。所以,它不仅仅是一个闪存(我的例子并不完美,如果你想要应用程序的整个代码,你可以得到它{。{3}})。
编辑2:
我修改了上面的代码和以下句子来更好地解释我的问题。