私はグレイドファイルを読み込み、すべてのトグルボタン(クラス "GtkToggleButton"、私は "押した"色を変更したい)の色を変更したいと思います。グレイドファイルの多くのサブサブ要素の1つ。ここで C-コード-切り取ら私はの.cssと.gladeをロードするために使用します。gladeを使ってgtk3でCSSを取得しないでください
void on_minute_pressed(GtkWidget *button)
{
GtkCssProvider *cssProvider = gtk_css_provider_new();
gtk_css_provider_load_from_path(cssProvider,"./test.css",NULL);
GtkBuilder *builder = gtk_builder_new();
gtk_builder_add_from_file (builder, "minute_dialog.glade", NULL);
GtkWidget *window= GTK_WIDGET(gtk_builder_get_object(builder, "MinuteWizard"));
gtk_window_set_transient_for (window,main_window);
gtk_style_context_add_provider(gtk_widget_get_style_context(window),cssProvider,GTK_STYLE_PROVIDER_PRIORITY_USER);
gtk_builder_connect_signals(builder, NULL);
gtk_widget_show(window);
g_object_unref(builder);
}
そして、ここで私が現在使用しているの.css:
.button {
padding: 30;
background-color: shade (@bg_color, 55);
}
togglebutton entry {
color: 900185;
}
button:active {
background-color: #0274d9;
}
現在、何が起こる:新しいウィンドウを負荷は問題ありませんが、.cssに書き込む内容は問題ではないようですが、ウィンドウ要素の外観は変わりません。
Gtk-WARNING **: Theme parsing error: test.css:2:13: Not using units is deprecated. Assuming 'px'.
何が問題なのですか。別々のサブウィジットに.cssを適用する必要がありますか?
'ユニットを使用しないとdeprecated'が古いCSSファイル、から来ていますいくつかのサイズは 'border = 1'のように数字で指定されます。現在のgtkのバージョンでは '1px'と指定する必要があります。あなたのテーマが古すぎる場合は、3.20より新しいgtkの問題に遭遇するでしょう!あなたの主な問題には影響しません。 – jcoppens