2013-05-07 230 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