我试图通过在我的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:我省略了颜色定义,以缩短它。
答案 0 :(得分:1)
我正在运行Debian Wheezy(目前正在测试),安装了gtk unico引擎(apt-get install gtk3-engines-unico)并修改了我的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));
}
答案 1 :(得分:1)
手动CSS hackery现在可能(有趣,但是!)不必要,至少对于定位标准主题的用户(或者更确切地说, 那些,因为我们应该始终将它们用作我们的基线):
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。
对于一个尺寸比另一个尺寸长的按钮,只有角落会被舍入到较短尺寸的半径,而按钮的其余部分将是平的(即,您将得到一个圆角矩形,而不是椭圆形)。 / p>