GTK和CSS:圆角按钮
GTK and CSS : Rounded buttons
我正在尝试通过在我的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:我省略了颜色定义,使其更短。
我正在运行Debian Wheezy(目前正在测试),在安装gtk unico引擎(apt-get install gtk3-engine -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));
}
手动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这两个标准主题都可以。
对于一个维度比另一个维度长的按钮,只有角会被圆角化到较短维度的半径,其余的按钮将是平面的(即你得到一个圆角矩形,而不是椭圆形)。
相关文章:
- 问:如何使用C++中的按钮从窗口打开窗口
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- QML按钮点击功能执行顺序
- 当用户超过按钮点击限制时报告
- 函数计算用户按下按钮的频率
- 热键/按钮,根据需要进行编译,但不运行(在F5和Ctrl+Shift+B之间)
- FLTK:按下哪个按钮 - 将数字传递给按钮的回调 (lambda)
- 如何通过按下第三个窗口中的按钮,将QString从一个窗口获取到另一个窗口
- 垂直方向的 Gtk3+ 旋转按钮 (c/c++)
- Qt自定义QPush按钮未显示在布局上
- SDL 操纵杆按钮按下/C++
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- Qt中来自不同功能的按钮引用
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- ImGui 在单击按钮后冻结
- WinAPI 无法创建按钮
- 按钮悬停在 QT 中垂直布局的选项卡小部件中不起作用
- 如何使用connect将qml按钮与同一类的cpp函数连接起来
- 按钮按下打开 OLED ESP32
- GTK和CSS:圆角按钮