组合框条目的帮助文本
Assistance Text For ComboBox Entries
我的一个屏幕有一个 ComboBox,可以在其中选择 'type of sport' 一个客户(主要是职业运动员)参与其中。这样做是为了避免所有可能的运动列表过长。一个例子是 'Board sports',它与滑板运动、滑雪板运动、冲浪等有关。该软件的许多用户询问如果将鼠标悬停在某个选项上是否可以显示帮助文本,例如如果他们将鼠标悬停在 'Board sports' 上,则会显示提到的运动。经过几个小时的密集谷歌搜索后,我不知道该怎么做。这可能吗?如果可能,怎么做?
这是"a"解决方案,select然后悬停:
import wx
class Myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None)
self.my_choices = ["Board Sports","Ball Sports","Fight Sports"]
self.my_subchoices = [["Skate boarding","Surfing","Ski boarding"],["Football","Cricket","Rugby","Guess my nationality"],["Boxing","Wrestling","Karate"]]
pan = wx.Panel(self)
self.cbx = wx.ComboBox(pan, -1, pos=(10,30), choices=self.my_choices,style=wx.CB_DROPDOWN )
self.cbx.Bind(wx.EVT_COMBOBOX, self.on_selection)
self.cbx.SetValue("Choose a sport")
def on_selection(self, evt):
Choice = self.cbx.GetSelection()
msg = ""
for x in self.my_subchoices[Choice]:
msg += x+"\n"
self.cbx.SetToolTipString(msg)
if __name__ == "__main__":
App = wx.App()
Myframe().Show()
App.MainLoop()
我的一个屏幕有一个 ComboBox,可以在其中选择 'type of sport' 一个客户(主要是职业运动员)参与其中。这样做是为了避免所有可能的运动列表过长。一个例子是 'Board sports',它与滑板运动、滑雪板运动、冲浪等有关。该软件的许多用户询问如果将鼠标悬停在某个选项上是否可以显示帮助文本,例如如果他们将鼠标悬停在 'Board sports' 上,则会显示提到的运动。经过几个小时的密集谷歌搜索后,我不知道该怎么做。这可能吗?如果可能,怎么做?
这是"a"解决方案,select然后悬停:
import wx
class Myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None)
self.my_choices = ["Board Sports","Ball Sports","Fight Sports"]
self.my_subchoices = [["Skate boarding","Surfing","Ski boarding"],["Football","Cricket","Rugby","Guess my nationality"],["Boxing","Wrestling","Karate"]]
pan = wx.Panel(self)
self.cbx = wx.ComboBox(pan, -1, pos=(10,30), choices=self.my_choices,style=wx.CB_DROPDOWN )
self.cbx.Bind(wx.EVT_COMBOBOX, self.on_selection)
self.cbx.SetValue("Choose a sport")
def on_selection(self, evt):
Choice = self.cbx.GetSelection()
msg = ""
for x in self.my_subchoices[Choice]:
msg += x+"\n"
self.cbx.SetToolTipString(msg)
if __name__ == "__main__":
App = wx.App()
Myframe().Show()
App.MainLoop()