2013-05-07 101 views
2

我想通過在我的C++應用程序中調用外部CSS文件來創建一個舍入按鈕。GTK和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:我離開了顏色定義,以保持它短。

回答

1

我運行Debian喘息(目前正在測試),安裝GTK尤尼科引擎(apt-get的安裝gtk3 - 發動機 - 尤尼科)和修改我的CSS它的工作(矩形邊框都不見了)

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)); 
} 
+0

使用border-image:none得到它的工作:) – 2013-12-03 00:33:19

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" 
); 

此作品同時使用標準的主題,阿德維塔和高對比度的。

對於一個尺寸比另一個尺寸更長的按鈕,只有角將被倒圓到較短尺寸的半徑,並且按鈕的其餘部分將是平的(即,您會得到一個圓角矩形,而不是橢圓形)。

+1

@downvoter:你有一個真正的問題,你可以告訴我,我可以學習,或者你只是想着你在其他一些形成的幼稚怨恨線? – 2016-10-16 07:29:27