2

C++ アプリケーションで外部 CSS ファイルを呼び出して、丸いボタンを作成しようとしています。

なんとか丸いボタンを取得できましたが、長方形の境界線がいくつか残っており、その境界線を取り除く方法が見つかりません。

CSSファイルの内容:

GtkButton  {
    -GtkWidget-focus-line-width: 1px; 
    border-width: 1px;
    border-radius: 30px;
    background-image: -gtk-gradient (linear,
        left top,
        left bottom,
        from (@win_bg),
        color-stop (0.5, @win_dark),
        to (@win_bg));
}

PS : 短くするために、色の定義を省略しました。

4

2 に答える 2

2

私は Debian Wheezy を実行しています (現在テスト中)。

GtkButton  {
    engine: unico;
    -GtkWidget-focus-line-width: 1px; 
    border-width: 1px;
    border-radius: 30px;
    background-image: -gtk-gradient (linear,
        left top,
        left bottom,
        from (@win_bg),
        color-stop (0.5, @win_dark),
        to (@win_bg));
}
于 2013-05-08T02:10:27.560 に答える
1

手動の CSS ハッカーは、少なくとも標準テーマをターゲットにしているユーザーにとっては不要かもしれません(楽しいですが!) 。

https://developer.gnome.org/gtk3/stable/GtkButton.html

特殊なケースでは、.circular スタイル クラスを追加することで、ボタンを丸くすることができます。

たとえば、次のようになります。

gtk_style_context_add_class(
    gtk_widget_get_style_context( GTK_WIDGET(button) ),
    "circular"
);

これは、Adwaita と HighContrast の両方の標準テーマを使用して機能します。

ある寸法が別の寸法よりも長いボタンの場合、角だけが短い方の寸法の半径に丸められ、ボタンの残りの部分は平らになります (つまり、楕円ではなく角の丸い長方形になります)。

于 2016-08-20T10:27:56.323 に答える