在wxPython中创建文本按钮

时间:2011-09-09 03:12:18

标签: events text button click wxpython

在我的应用程序中,我想创建按钮,减去整个按钮部分。就像点击一个URL一样,我想,有一些基本功能,比如悬停/点击时颜色或样式的细微变化。

到目前为止,我已经使用wx.StaticText完成了这项工作,但我的问题是让左键单击事件得到识别。这是相关的代码:

self.text = wx.StaticText(self.background, -1, 'Text test')
self.text.Bind(wx.EVT_COMMAND_LEFT_CLICK, self.DoSomething)

它根本没有任何影响。有什么想法或替代方案吗?

编辑:知道了。应该调用wx.EVT_LEFT_UP。

1 个答案:

答案 0 :(得分:1)

PlateButtons (wx.lib.platebtn)将为您提供对按钮的大量控制,包括“平面”按钮(没有边框),鼠标颜色更改等(对于常规按钮,还有 style = wx.NO_BORDER ,但这在Mac上不可靠。)

根据你想要做的事情,使用一个按钮可能比使用StaticText更好,因为有许多问题,如焦点,大小调整,禁用,更改点击图像等,这些都不太引人注意,但仍然是预期和/或在按钮中有用。有很多Python代码创建按钮的例子,包括PlateButtons和GenericButtons,你可以看到制作一个好按钮所涉及的内容。这不是不可能的,但如果你不需要这样做会很麻烦。