python-3.x - Gtk.CssProvider.load_from_data TypeError : Item 0: Must be number, not str

标签 python-3.x pygtk gtk3

从终端运行我的 gtk 项目时遇到此错误 python3 myapp.py ,但不是通过 Sublime-Text-3 的 python 构建系统启动我的应用程序时!多么奇怪。

TypeError: Item 0: Must be number, not str

出错的代码本质上是:
color_scheme = {'fg_color':'#ffffff', 'bg_color': '#000000',}
css = """
    GtkLabel {
        color: %(fg_color)s;
        background: %(bg_color)s;
    }
"""

# ...

cssprovider = Gtk.CssProvider()
css_data = css % color_scheme
cssprovider.load_from_data(css_data)

最佳答案

正如其他答案(包括您的)所述, style_provider.load_from_data() 需要字节,而不是字符串。

您可以直接将 CSS 定义为字节流,而不是编码您的 unicode 字符串:

css = b"""
        #MyWindow {
            background-color: red;
        ...
    """

(注意 b)

关于python-3.x - Gtk.CssProvider.load_from_data TypeError : Item 0: Must be number, not str,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664937/

相关文章:

python - Numpy 中括号和方括号有什么区别?

python - 是否有一个 Python 模块可以让我轻松地将混合分数转换为 float ?

gtk - 如何在开罗表面上绘制任何 GTK 小部件

ubuntu - Anaconda 中的 FileChooserDialog 图标损坏如何修复?

Python:如何让 Gtk.scrolledwindow 滚动到 Gtk.Treeview 中的选择

我们可以使用 C 代码用 gcc 编译 OpenCv-3.3.0 和 GTK+3 吗?

python - 将字符串拆分为固定数量的标记列表的简洁方法

python - (Root) 两个 pandas.Series 的均方误差

python - 我可以在 gtk 中向现有树模型添加一列吗?

user-interface - 隐藏/删除小部件后调整 Gtk 对话框的大小