GTK3 使用带有 ID 的 CSS 从 GtkEntry 中删除蓝框

Posted

技术标签:

【中文标题】GTK3 使用带有 ID 的 CSS 从 GtkEntry 中删除蓝框【英文标题】:GTK3 Use CSS with ID to remove blue frame from GtkEntry 【发布时间】:2019-06-10 11:57:56 【问题描述】:

我目前正在尝试使用 Gtk3 和 Css 对应用程序进行一些主题化。加载 CSS 可以作为小部件以我想要的方式获取主题。我使用gtk_widget_set_name 并在 CSS 中使用名称来执行此操作。问题是,我想删除 GtkEntry 的边框,并且还需要为 :focus 状态执行此操作。

我试过了:

#address_entry 
    border: none;
    border-style: none;


#address_entry:hover 
    border: none;
    border-style: none;


#address_entry:focus 
    border: none;
    border-style: none;

这会导致条目在未聚焦时没有边框,但在聚焦时我的主题显示蓝色边框。

如何删除所有州的边框?

【问题讨论】:

我只是尝试了类似 =>>this 的东西,但没有边框。你能提供一个示例代码吗? 【参考方案1】:

如果系统主题可以从条目中移除边框,您也可以!你只需要弄清楚是什么 css 属性导致了一些看起来像边框的东西被绘制出来。

据我所知,条目中有 2 个属性可能会绘制类似边框的东西 - border 本身和 box-shadow。是的,在您的情况下,它可能是出现在焦点上的阴影而不是边框​​。

所以设置这个样式会做你想要的--

entry#address_entry 
    border: none;
    box-shadow: none;

【讨论】:

以上是关于GTK3 使用带有 ID 的 CSS 从 GtkEntry 中删除蓝框的主要内容,如果未能解决你的问题,请参考以下文章

Gtk.CssProvider() 基于 ID 的选择器如何在 Gtk3 中工作?

带有g_timeout_add服务的GTK3并不总是更新GTK小部件

CSS文件中的Gtk3键绑定

无法将 CSS 应用于 GtkEntry 小部件(GTK3 / gi / Python)不工作

将 C 中的 gtk3 与 C++ 中的 gtkmm 结合起来

如何读出 gtk3 对象的“glade ID”