我正在尝试更改 GTK# 中的主题(操作系统:Windows,IDE:Xamarin)。但我遇到了下一个问题:
-
我只能找到一个正确渲染的主题,它是“Orta”。一切都很好,除了滞后和冻结。这是我的代码:
string Resource_File = "Orta\\gtk-2.0\\gtkrc";
Application.Init ();
Gtk.Rc.AddDefaultFile (Resource_File);
Gtk.Rc.Parse (Resource_File);
MainWindow win = new MainWindow ();
win.Show ();
Application.Run ();
当我更改 Paned 的大小或单击按钮时,GUI 冻结(我已经问过这个了)。仅在使用该主题时才会出现此问题,其他主题都可以正常工作。我使用搜索并找到了一些意见,关于这是由于使用 Cairo 来渲染图形(其中之一).
如果我尝试使用不同的主题,许多 GUI 元素未正确呈现在我的 GTK# 应用程序中,但它们在 GTK 主题选择器中正确呈现。如果主题在 GTK 主题选择器中正确显示,那么我尝试在我的 Gtk# 应用程序中使用所选的 gtkrc 文件(如示例中的“Orta”所示),但几乎总是大多数小部件无法正确显示(这是一个例子)
所以我有几个问题:
- 如何选择作品主题?
- 如何为 GTK# (Windows) 设置主题?
- 有哪些 Gtk# 开源应用程序使用主题以及如何使用?
- 还有什么其他方法可以更改 GTK# 应用程序中 GUI 的样式?
- 为什么“Orta”主题冻结了?
所以我需要你的帮助!
谢谢!
我知道这是一个老问题,但最近我一直在与主题作斗争。
事实证明,当使用 Xamarin 运行 Gtk# 应用程序构建时,会出现主题问题,因为似乎某些“类似 Windows”的主题被强制写入代码中。
从 Xamarin Studio 运行应用程序时,根据 .Net 框架(Microsoft .NET 4.5、Mono 3.3.0、Mono 4.0.1),行为会有所不同。我收到了 Mono 3.3.0 的警告,告诉我找不到“Xamarin”引擎。
我最终得到以下代码:
Application.Init ();
Gtk.Settings.Default.ThemeName = "Theme/gtk-2.0/gtkrc";
Gtk.Rc.Parse ("./Theme/gtk-2.0/gtkrc");
其中 gtkrc 是我的主题。如果不设置默认主题名称,则无法正常工作。我没有深入定制我的主题,所以我无法判断它是否解决了每个主题问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)