我使用wxPython Canvas'AddScaledTextBox(...)
创建一个缩放文本框。在
请参见here示例:
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
2,
BackgroundColor = "Yellow",
LineColor = "Red",
LineStyle = "Solid",
PadSize = 5,
Family = wx.TELETYPE,
Position = 'bl')
定义文本框之后,如何更改背景色?(例如用户输入=>;背景颜色更改)
很肯定这是个虫子。请参见lines 1841 - 1845 in the wxPython source-有一个对
self.BackgroundColor
的引用,但从未使用过。在因此,对于您的示例,您需要设置与文本框关联的画笔的颜色。我以罗宾·邓恩的例子为基础。函数
SetBoxBackground
是其中的重要部分。在正如评论中所指出的,仅仅调用
box.Brush.SetColour(color)
或box.Pen.SetColour(color)
可能会导致问题:如果有两个文本框具有相同的颜色,更改其中一个的画笔/笔颜色也会影响另一个。(我不是100%确定,但我认为这是因为缓存,请参见示例this comment in the source。)ScaledTextBox
类从具有SetColor
和{代码:
编辑: 在颜色更改后强制重新绘制画布。另外,由于某些原因,更改背景色并不合适,所以我切换到演示更改文本颜色。在
删除了二级编辑,因为它只是创建一个新的文本框,而不是更新原始文本框。在
相关问题 更多 >
编程相关推荐