注释
成员
你能检查一下 hansu@ 923710f是否按预期工作吗? |
贡献者作者
您好,感谢您对此的调查! 我在 Debian 10.11 和 11.2 上测试了你的补丁,方法是将你的提交挑选到当前的 master 上。两个系统的结果是一样的:
|
成员
好的,试试这个:hansu@ 8f93176 |
贡献者作者
今天仅在 11.2 上进行快速测试:我上一篇文章中的错误已修复,但颜色在 glade 中显示不正确:任何 Zone 0/Zone1 颜色,但黑色显示为白色。(黑色显示为黑色。) |
成员
嗯。你能发布你的例子来验证颜色吗? |
贡献者作者
我现在不在我的测试计算机旁,但简而言之,我在 glade 中创建了一个新项目,添加了一个主窗口和一个垂直的 hal_bar。然后我使用 glade 中的控件(组件的颜色选择器)来设置区域颜色。我增加了 glade 中的值字段以查看该栏。 我相信酒吧的背景是浅灰色(我是红绿色盲,所以可能会在色调上弄错)。默认情况下,栏本身是黑色的,无论是可见的还是根据颜色选择器。颜色选择器中的任何颜色变化都会产生纯白色条(将其变回黑色会使它再次变黑)。例如,如果我将区域 0 设置为黑色,将区域 1 设置为其他颜色,我会得到一个黑色/白色条,在字段之间具有渐变。但始终只是纯黑色或纯白色。 |
成员
是的,现在我明白了。使用 Gdk.RGBA() 并不是一个好主意,因为 glade 的接口似乎需要 Gdk.Color。 |
贡献者作者
这似乎已经成功了。在 debian 10.11 和 11.2 上测试。做得好!谢谢! |
以下是我重现该问题所遵循的步骤:
这是我期望发生的事情:
林间空地应该能够显示 HAL_VBar。
这是发生了什么:
回溯(最近调用最后):
文件“/home/arvidb/src/linuxcnc-dev/lib/python/gladevcp/hal_bar.py”,第 304 行,在 expose
cr, (w, h), set_color, alpha = self ._expose_prepare(widget)
文件“/home/arvidb/src/linuxcnc-dev/lib/python/gladevcp/hal_bar.py”,第 151 行,在 _expose_prepare
set_color(self.bg_color)
文件“/home/arvidb/src/linuxcnc -dev/lib/python/gladevcp/hal_bar.py”, line 136, in set_color
return cr.set_source_rgba(c.red_float, c.green_float, c.blue_float, alpha)
AttributeError: ‘_ResultTuple’ 对象没有属性 ‘red_float’
如果将项目另存为 my-panel.ui 并使用“gladevcp my-panel.ui”运行,则会出现相同的错误。(需要将 GtkWindow ID 设置为上面的“window1”。)
在此之前它工作正常:
不知道,没试过旧版本。