gpt4 book ai didi

css - 如何仅更改一个选项卡的颜色 GtkNotebook

转载 作者:行者123 更新时间:2023-11-28 04:31:57 26 4
gpt4 key购买 nike

我正在使用 Ubuntu 14 with GTK version 3.10.8。我现在不想升级到 Ubuntu 16……。

不过,我对CSSGtkNoteBook 的理解有疑问

我的测试

是否可以只更改一个标签的标签颜色,例如

GtkNotebook tab:nth-child(3) {} or
GtkNotebook tab:nth-child(4){} or
GtkNotebook tab:nth-child(5) etc …..

我觉得可以还是不行

/* 先确定 // 最后确定 */

/* 奇数 ok */

/* 还可以 */

/* 1 好 */

/* 2n+1 成功 */

/* 3n+4 不行 */

/* 2 不正常 */

/* 一个不行 */

/* 一个不行 */

#!/usr/bin/python
# -*- coding: ISO-8859-1 -*-
# notebook_20.py
from gi.repository import Gtk, Gdk

def _destroy_cb(widget, data=None):
Gtk.main_quit()

window = Gtk.Window()
window.connect("destroy", _destroy_cb)

screen = Gdk.Screen.get_default()

css_provider = Gtk.CssProvider()

css = """
/* Theme any label within a notebook */
GtkNotebook tab GtkLabel {background-color: green;color: cyan;}
GtkNotebook > GtkLabel {background-color: pink;color: cyan;}


GtkNotebook { /*------ OR use " GtkNotebook#notebook OR GtkNotebook.mynotebook */
-GtkWidget-focus-line-width: 0; /* Remove focus line (dotted line) around text on all tabs */
-GtkNotebook-tab-overlap: 0;
padding: 10px 20px 10px 20px;
border-radius: 15px;
border-width: 4px;
}


GtkLabel.first_label { /* another way to select tab label */
color: green; /* overides last font color selection */
font: Serif italic 10; /* overides last font & font size selection */
}

/* first ok */
/* last ok */
/* odd ok */
/* even ok */
/* 1 ok */
/* 2n+1 ok */
/* 3n+4 non ok */
/* 2 non ok */
/* one non ok */
/* one non ok */

GtkNotebook tab:nth-child(3n+4) { /* modification 1er onglet tab "FirstTab */
background-color: pink; /* tab background color */
color: green; /* tab font color */
font: Sans 12; /* tab font & font size */
}
"""
css_provider.load_from_data(css)


context = Gtk.StyleContext()
context.add_provider_for_screen(screen, css_provider,
Gtk.STYLE_PROVIDER_PRIORITY_USER)

box = Gtk.VBox()
window.add(box)

notebook = Gtk.Notebook()
box.pack_start(notebook, False, False, 0)

for i in range(10):
bufferf = "Prepend Frame %d" % (i+1)
bufferl = "Page %d" % (i+1)

frame = Gtk.Frame()
frame.set_border_width(10)
frame.set_size_request(100, 75)
label = Gtk.Label(bufferf)
frame.add(label)
label.show()

label2 = Gtk.Label(bufferl)
notebook.append_page(frame, label2)
frame.show()

window.show_all()
Gtk.main()

你能帮帮我吗也许我必须更改 gtk 版本(现在我有版本 3.10.8 )提前谢谢你

最佳答案

好的,非常感谢您的帮助。我的理解是:- GtkNotebook tab:nth-child(3) {} 在 CSS3 规范中“实现”,但是- 未在 Gtk 3 版本 3.10.8 中实现。

事实上,我改变了我的做法。首先我想管理一个笔记本。其次,当我在选项卡子项中更改日期时,我想指示状态已修改如果数据未更改状态未修改经过一两个晚上!!!,我发现我只需要管理两个状态。

我的解决方案是:

if status == 'modified';
label.set_name ('modified)
else
label.set_name ('no_modified)
.......

GtkNotebook > #no_modified {background-color: green;}
GtkNotebook > #modified {background-color: red;}

或类似的东西。第二天我要测试这个。非常感谢你这样一个

关于css - 如何仅更改一个选项卡的颜色 GtkNotebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41687258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com