【问题标题】:Fails to set bgcolor on StaticText on Raspberry pi (but not in Win10)无法在 Raspberry pi 上的 StaticText 上设置 bgcolor(但在 Win10 中没有)
【发布时间】:2018-12-05 11:04:58
【问题描述】:

我正在尝试在 wxPython 中设置 StaticText 的背景色。我正在使用方法 .SetBackgroundColour('Red')。当我在 Windows 10 上运行我的代码时,它按预期工作。但是,当它在 Raspberry pi 上运行时,它无法设置背景颜色(和文本对齐方式)。有人可以帮忙吗?

Picture: Result on windows 10

Picture: Result on Raspberry pi 3b+

wxPython4.0.3 在树莓派上构建的代码和轮子文件可以在我的 Github 上找到:https://github.com/danneedebro/Problem_bgcolor_static_text

这是我的简化代码:

Main.py

import wx


class Example(wx.Frame):
    def __init__(self, parent):
        super(Example, self).__init__(parent, title='Window', size=(300, 100))

        panel = wx.Panel(self)
        LblTextWithBgColor = wx.StaticText(panel, label='This text should have a red background', size=(250, 20), style=wx.ALIGN_CENTER)
        LblTextWithBgColor.SetForegroundColour('Green')
        LblTextWithBgColor.SetBackgroundColour('Red')
        self.Show()


app = wx.App()
Example(None)
app.MainLoop()

【问题讨论】:

    标签: python wxpython raspberry-pi3


    【解决方案1】:

    您不能在 GTK 中设置wx.StaticText 的背景颜色。标签只是绘制在父窗口上,这会阻止您对小部件执行任何操作。这记录在一个不明显的位置:

    但是,您可以改用wx.lib.stattext,因为它是一个通用小部件,应该在所有平台上以相同的方式工作。

    【讨论】:

    • 谢谢迈克,我会试试这个。我实现了一个修复程序,在我的实际应用程序中添加了一个额外的面板,但我没有设法修复文本对齐,所以这肯定更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多