首页 > 解决方案 > 为什么 gtk_render_check 结果不是我所期望的?

问题描述

我正在尝试在我的应用程序中实现选择模式UI 模式。

一个显而易见的问题是这种视图没有默认实现,并且实现它的每个应用程序都以不同的方式实现。

我已经有一个使用 GtkFlowBox 实现的视图,所以我的计划是在每个子小部件上覆盖一个包含复选标记的小部件(在我的例子中是缩略图)。

我第一次尝试使用 GtkCheckButton,但它不适合我,因为我无法控制它的大小。

然后我决定使用 gtk_render_check 将复选标记渲染到GtkImage。我从 gnome-todo 中获取它,同时实际上复制了用于该目的的代码(gnome-todo 的代码我的代码)。

这就是结果(左边是我的应用程序,右边是 gnome-todo)。

如您所见,在我的应用程序中,复选标记非常模糊,但在其他方面与 gnome-todo 中的复选标记具有相同的尺寸和方面。

这可能是什么原因造成的?

更新:我使用 Adwaita 主题运行相同的代码,gnome-todo 和我的应用程序之间的差异非常大。

这是一个截图。是什么导致结果如此不同?

更新 2:使用 styleContext->set_scale(int scale) 解决了结果模糊的问题,但结果的方面仍然与上一个屏幕截图相同。

标签: gtkgtkmm

解决方案


推荐阅读