2017-02-09 68 views
0

我正在研究一个有一些复选框的小应用程序。该应用程序将在Windows经典主题集的Windows 7机器上运行。这意味着,所有的复选框将有bezeled边框作为显示在下面的截图:wxPython:如何创建一个平面外观(无边框边框)的复选框。

enter image description here

我不知道是否有设置相应的复选框,没有边框的方法。如果这是不可能的,是否可以自定义绘制/绘制复选框没有挡板?我一直无法找到例子。谢谢!

+0

是否添加wx.NO_BORDER样式标志看起来是否正确?在我的机器上,它们默认情况下是平坦的 – user2682863

回答

2

它确实取决于平台和/或主题,以及本机窗口小部件是否支持备用视图等。换句话说,对于一般定制本地小部件的LnF的问题,答案是“可能”,但它可能取决于许多不受wx控制的因素。

另一方面,制作自定义控件比大多数人认为要容易得多。对于类似复选框的事情,您基本上只需提供EVT_PAINT的事件处理函数,该事件处理函数使用wx.PaintDC来绘制小部件的当前状态,以及鼠标和键盘事件与用户交互的处理程序。在wx.lib包装中有几个例子可以用于灵感,例如wx.lib.stattextwx.lib.buttons