gtk3 - GTK 小部件仅用于按色调选择
问题描述
我查看了 GTK ColorChooserWidget、ColorSelection 和 ColorButton,但它们都没有提供我所追求的。
在编辑模式下,ColorChooserWidget 看起来不错,但似乎没有办法挂钩用户移动选择器的事件,它只有color_activated事件,当小部件被迫进入编辑模式时,这似乎没用从头开始:
ColorChooserWidget c = new ColorChooserWidget ();
c.show_editor = true;
c.set_use_alpha (false);
c.color_activated.connect ((col) => {
stdout.printf ("Color Activated: %s\n", col.to_string ());
});
ColorSelection 相当好,color_changed事件是理想的,但用户的选项太多。我试过了:
ColorSelection cs = new ColorSelection ();
cs.set_has_opacity_control (false);
cs.set_has_palette (false);
cs.color_changed.connect ( w => {
stdout.printf ("Color changed to %s\n", w.current_rgba.to_string ());
});
我只想拥有没有其他选项的色轮,并且能够将其锁定为仅更改色调。
GTK 中是否有任何方法允许用户单击并拖动 UI 组件,该组件会随着所选颜色的更改而不断触发事件?我应该只创建一个自定义小部件吗?
解决方案
推荐阅读
- vim - Vim 在命令中的文件快捷方式中查找
- php - PHP如何编写统计模式分析函数?
- ios - 如何调试 navigationcontroller.tintColor 不变?
- java - 在环境变量中获取 null
- javascript - JavaScript keydown 在 Firefox 上不起作用
- multithreading - 在 TPL 中将线程添加到主线程进程
- android - 在 RecyclerView 适配器类中询问权限 - 未调用 onRequestPermissionsResult
- react-native - Expo.js:当我的应用程序进入后台时捕获事件?
- django - django 在使用 formset 时无法将请求传递给表单。产生 `__init__() got an unexpected keyword argument 'request'`
- javascript - 如何避免删除数字前面的零?