存在两个子问题:缺失图标和设置正确的主题。
缺失图标
对于缺失的图标,只需要复制这些图标:
- window-close-symbolic.symbolic.png
- window-maximize-symbolic.symbolic.png
- window-minimize-symbolic.symbolic.png
从:C:\msys64\mingw32\share\icons\Adwaita\22x22\actions
到:"您的可执行文件文件夹"\share\icons\Adwaita\22x22\actions
主题
使用Win32本地主题
实际上,GTK3中有一个内置的类似本地的主题。要使用本地主题,只需创建文件 "您的可执行文件文件夹"\etc\gtk-3.0\settings.ini,其中包含以下内容:
[Settings]
gtk-theme-name=win32
win32主题已经集成到GTK3中,只需要使用前一步骤中的三个图标即可。在Windows 7上是这样的:
问题在于,即使在Windows 10上(包括窗口装饰),这些装饰看起来也是相同的。
根据@andlabs的评论:GTK+ 3使用uxtheme.dll API获取其Windows外观和感觉,不幸的是,Microsoft已经保留了那些类似于Windows 7的窗口边框。(更多内容请参见评论)
您可以在此处查看具有win32
主题的Windows 10 Gtk3应用程序:
使用非默认主题
如果您不满意默认或win32主题,您可以从互联网上使用自定义主题(例如此Flat-Pat)。:) 为了做到这一点,您需要创建配置文件:
"您的可执行文件夹"\etc\gtk-3.0\settings.ini,其中包含以下内容:
[Settings]
gtk-theme-name=Flat-Plat
你需要将主题文件复制到可执行文件所在路径下的目录。
"你的可执行文件夹"\share\themes\Flat-Plat
在该文件夹中,应该存在index.theme
文件和gtk-x.x
文件夹。 显然,gtk-theme-name
和文件夹名称应该匹配。
运行可执行文件后,您应该能够获取不同的主题。
编辑:Win32 主题是内置的,感谢 @andlabs
编辑2:添加截图
编辑3:添加 Windows 10 截图并纠正事实。