我正在尝试让我的GTK3应用程序在Windows 7上看起来是原生的。我在以下问题中尝试了答案How to get native windows decorations on GTK3 on Windows 7+ and MSYS2
但它不起作用。我在Windows上的GTK3版本是3.22,我使用的是Vala语言。尝试使用GTK3版本3.20无济于事。我还尝试使用CssProvider在代码本身中更改应用程序的背景颜色,它适用于Ubuntu,但不适用于Windows。在Windows中,将忽略应用程序主题和所有CSS手动设置。
有没有办法实现这个目标?感谢。
答案 0 :(得分:4)
通过调用代码 显示带有show_all ()的主应用程序窗口来工作:
Gtk.Settings.get_default ().gtk_theme_name = "win32";
使用自定义主题时,主题的位置应为:“YourApplicationExecutable \ share \ themes \ ThemeFolder”,如How to get native windows decorations on GTK3 on Windows 7+ and MSYS2
的接受答案中所述并且代码中使用 gtk_theme_name 设置的名称应该是包含主题的文件夹的名称。
请注意,方法 get_default()会为您提供默认的GDK屏幕。如果您想要更多地控制特定小部件,请使用方法 get_settings()覆盖您要更改主题的特定小部件。
来源:
How to get native windows decorations on GTK3 on Windows 7+ and MSYS2