(直接从我的上一个帖子中直接跳过:)阅读GTK Book,在确保学习以GTK3为中心的技能时,有很多事情需要清理。一个是颜色选择小部件。
首先,我想知道GtkColorChooser应该如何允许alpha选择。这本书只有你gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (colorsel), TRUE);
。 GtkColorChooser
有类似的功能,但它似乎没有创建任何东西。还有show-editor
属性我翻到TRUE
但似乎没有做任何事情。
第二,对GtkColorSelectionDialog->colorsel
GtkColorChooserDialog
是否有同等的概念?在中,你可以从父对话框访问GtkColorChooser
小部件吗?
编辑:
这是对话框创建的来源,我遗漏了一些东西。我期待这会向我展示一个支持alpha的颜色选择器小部件,但它只给我定期色板。
dialog = gtk_color_chooser_dialog_new(title, window);
gtk_color_chooser_dialog_set_use_alpha(GTK_COLOR_CHOOSER(dialog), TRUE);
我唯一的猜测是我试图错误地访问颜色选择器,但是我无法找到关于如何从对话框进入选择器的足够详细的说明。
答案 0 :(得分:1)
GtkColorChooser
界面允许通过设置:use-alpha
属性来选择Alpha通道:
https://developer.gnome.org/gtk3/stable/GtkColorChooser.html#gtk-color-chooser-set-use-alpha
设置:use-alpha
属性后,您可以在编辑器中创建新的自定义颜色时选择alpha;新的比例小部件将出现在颜色编辑器的底部,您可以选择Alpha级别:
GtkColorChooserDialog
是GtkDialog
,对话框内容区域内有GtkColorChooserWidget
,因此您可以使用gtk_dialog_get_content_area()
然后获取返回的{{1}的第一个子节点}}。这可以说是一个分层违规,不应该被要求:GtkBox
将所有GtkColorChooserDialog
方法代理到其GtkColorChooser
,您永远不需要直接访问小部件。如果您想要控制GtkColorChooserWidget
,则应自行创建GtkColorChooserWidget
并将GtkDialog
打包到其中。再次,除非你想创建自己的自定义对话框,否则我不建议这样做。