【问题标题】:Python GTK CSS issues on WindowsWindows 上的 Python GTK CSS 问题
【发布时间】:2014-01-07 17:01:34
【问题描述】:

10我正在尝试在 Windows 上使用 GTK3+。 设置是从http://sourceforge.net/projects/pygobjectwin32/files/?source=navbar 安装的 Python 2.7 和 GTK3+ (3.10.x) 对我来说,这似乎是启动和运行它的最简单方法,如果我错了,请纠正我。

以下应用在 Linux 上运行良好,但在 Windows 上,按钮的阴影关闭,我似乎无法更改文本的颜色,它只是保持黑色。

from gi.repository import Gtk, Gdk

win = Gtk.Window()
win.set_name('MyWindow')

# The Button
button = Gtk.Button("Click Me")
win.add(button)


win.connect("delete-event", Gtk.main_quit)

style_provider = Gtk.CssProvider()

css = """
#MyWindow GtkButton {

    border-radius: 10px;
    border-color: #000;
    font: Sans 10;
    color: white;                   
    box-shadow: 0 0 5px grey inset;
    margin: 10px;
}
"""

style_provider.load_from_data(css)

Gtk.StyleContext.add_provider_for_screen(
    Gdk.Screen.get_default(), 
    style_provider,     
    Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)

win.show_all()
Gtk.main()

关于这里可能出现什么问题的任何想法?

【问题讨论】:

  • 我相信 Gtk 在 Windows 上使用特定引擎进行主题化,以便 Gtk 应用程序正确集成到本机 UI。 IIRC,这个引擎不像 linux 引擎那样接受所有的 CSS 属性。
  • 算了,Windows 的 Gtk3 主题应该是纯 CSS,而不是依赖于引擎:blogs.gnome.org/alexl/2011/11/25/gtk-work-on-windows
  • 这是个好消息,虽然我想知道这里出了什么问题,是我安装不正确吗?

标签: python gtk gtk3 pygobject


【解决方案1】:

确保在您的 settings.ini 中没有注释掉主题 Adwaita,您可以在 C:\Python27\Lib\site-packages\gnome\etc\gtk-3.0 中找到它(或类似的前缀,具体取决于您的安装蟒蛇)

[Settings]
gtk-theme-name = Adwaita
#gtk-font-name = Arial 10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多