WxPython:使用wx.Brush设置按钮的背景

时间:2017-04-11 17:38:12

标签: python wxpython wxwidgets

我对如何使用线条或交叉线等图案绘制按钮或GenButton的背景颜色进行了广泛的搜索。我见过wx DirectContext的例子,你可以用图案而不是纯色绘制对象,但似乎这只是针对特定的形状,而不是按钮对象的颜色。 dc或gc库是否允许在这些对象上绘制。我知道我必须为OnPaint和OnResize创建一个事件处理程序,但我可能会错过一些步骤,以便将它应用于按钮本身。

2 个答案:

答案 0 :(得分:1)

wxPython包尽可能在其核心小部件中使用本机小部件。因此,wx.Button窗口小部件将成为本机窗口小部件,您只能通过文档中提到的方法进行修改。正如Igor所提到的,您可以尝试使用SetBackgroundColour()SetForegroundColour(),但根据平台的按钮小部件,它们可能会也可能不会起作用。

您真正想要的是自定义小部件。我建议您查看GenericButtonsPlateButtonGradientButton以获取示例。你甚至可以直接使用GenericButton并按照你提到的那样绘制它的背景。

答案 1 :(得分:0)

wx.Button对象表示本机控件。因此,不幸的是,您无法操纵本机控件如何自我绘制。

你可以试试SetBackgroundColour()/ SetForegroundColour(),但这是你可以去的。