我想在wxPython类中添加一个新功能。我还想要现有的功能以及新的功能。实现目标的最佳方法是什么?如果有人能说出一步一步的程序会很棒吗?
我是wxPython的新手,并在wxPython中编写我的第一个应用程序。
此外,本机控制和完全所有者绘制控件之间的区别是什么。
答案 0 :(得分:10)
欢迎来到wxPython!如果要创建自定义内容,则需要对要修改的基本控件进行子类化。通常,如果您要组合多个内容,这将是一个wx.Panel,但它也可以是一个单选按钮,复选框等等。查看http://wiki.wxpython.org/CreatingCustomControls,其中详细解释了这些示例。
本机控件遵循操作系统进行绘制。原生复选框基本上说“嘿操作系统,为我画一个复选框”,所以它将在任何系统上看起来应该是“原生”,包括与主题混合。所有者绘制的复选框由自定义代码绘制,在所有系统中通常看起来相同。这为您的控件的外观和行为提供了更大的灵活性,但却以原生外观和成本为代价,并且通常无法在可访问性方面发挥出色。
这两个概念并不是特别相关;仅仅因为控件是自定义的并不意味着它必须是所有者绘制的,内置的wxPython控件也不是本机的。
如果您下载wxPython演示应用程序,您可以找到各种本机,所有者绘制和自定义控件的示例。希望这有帮助!