GtkColorChooser与GtkColorSelection

GtkColorChooser与GtkColorSelection,c,gtk,C,Gtk,(直接从我的上一篇文章开始:)通读全文,在确保学习以GTK3为重点的技能时,有很多事情需要清理。一个是颜色选择小部件 首先,我想知道GtkColorChooser是如何允许alpha选择的。这本书只有你的gtk_颜色选择设置_不透明度控制(gtk_颜色选择(colorsel),真)。GtkColorChooser有一个类似的函数,但它似乎没有创建任何东西。还有一个show editor属性,我在没有做任何事情的情况下切换到TRUE 其次,对于GtkColorChooserDialog,是否有与G

(直接从我的上一篇文章开始:)通读全文,在确保学习以GTK3为重点的技能时,有很多事情需要清理。一个是颜色选择小部件

首先,我想知道GtkColorChooser是如何允许alpha选择的。这本书只有你的
gtk_颜色选择设置_不透明度控制(gtk_颜色选择(colorsel),真)。GtkColorChooser有一个类似的函数,但它似乎没有创建任何东西。还有一个
show editor
属性,我在没有做任何事情的情况下切换到
TRUE

其次,对于
GtkColorChooserDialog
,是否有与
GtkColorSelectionDialog->colorsel
等效的概念?与中一样,您可以从父对话框访问
GtkColorChooser
小部件吗

编辑:

这是对话框创建的源代码,在这里我遗漏了一些东西。我希望这会显示一个支持alpha的颜色选择器小部件,但它只提供常规样例

dialog = gtk_color_chooser_dialog_new(title, window);

gtk_color_chooser_dialog_set_use_alpha(GTK_COLOR_CHOOSER(dialog), TRUE);

我唯一的猜测是我试图错误地访问颜色选择器,但我无法找到有关如何从对话框访问选择器的足够详细的说明。

GtkColorChooser
界面允许通过设置
:use alpha
属性来选择alpha通道:

设置
:use alpha
属性时,可以在编辑器中创建新的自定义颜色时选择alpha;一个新的缩放小部件将出现在颜色编辑器的底部,并允许您选择alpha级别:


GtkColorChooserDialog
是一个
GtkDialog
,在对话框的内容区域内有一个
GtkColorChooserWidget
,因此您可以使用
gtk\u dialog\u get\u content\u area()
然后获取返回的
GtkBox
的第一个子项。这可以说是一种分层冲突,不应该需要:
GtkColorChooserDialog
将所有
GtkColorChooser
方法代理到其
GtkColorChooserWidget
,并且您不应该需要直接访问小部件。如果您想控制
GtkColorChooserWidget
,您应该创建自己的
GtkDialog
,并将
GtkColorChooserWidget
打包到其中。同样,除非您想创建自己的自定义对话框,否则我不建议您这样做。

我编辑了我的原始帖子,以包含未产生预期结果的源。你的回答是可以理解的,并且符合我的目标,但我认为上面附加的行会产生你发布的图像。当然,它们不是很好。我发布的图像是颜色编辑器,可以通过按调色板中的“自定义”按钮从GtkColorChooserWidget访问它。这是唯一一个可以编辑alpha频道的地方。啊哈。想想看,我从来没有注意到“定制”按钮。并且默认为启用;酷。=)