GTK 3使用类似CSS的语言,但引入了“@ define-color”来添加命名颜色。
我想要做的是主题一个应用程序,它有自己的CSS文件,用于一些覆盖,但从Adwaita(或兼容的主题)获取它们已被命名的值。最明显的情况是“@selected_bg_color”。如果它不存在,那么我想回到固定值。
在CSS中,如果不理解规则,则忽略该规则并使用先前适用的规则。我希望这可以在GTK的CSS中使用类似的东西:
void LookUpStuInfo(student stu[], int size, int ID)
{
FILE *fp;
if((fp = fopen("stu_dat", "r")) == NULL)
{
cout << "cannot open file" << endl;
return;
}
struct student tmp;
fread(&tmp, sizeof(struct student), 1, fp);
fclose(fp);
}
这适用于Adwaita和兼容主题,但对于不包含指定颜色的主题,我会变黑而不是#123456。主题引擎不会出现“我不知道'@ some-named-color-from-adwaita'因此忽略它”,它是“我不知道”@ some-named-color-from-adwaita'因此使用黑色“。
是否可以在GTK CSS中执行后备颜色? (无论是使用覆盖规则,条件颜色定义还是其他内容)