繁体   English   中英

wxPython:上下文对话框弹出

[英]wxPython: Context dialog popup

在Windows对话框中,有时会有一个小的? 右上角的按钮。 它的用法是点击? ,然后光标变为带有?的箭头? ,然后在对话框内单击小部件,然后将显示一个弹出帮助提示框。

这是我的类定义的样子:

class Frame(wx.Frame):
  def __init__(self, parent, title):
    wx.Frame.__init__(self, parent=parent, id=wx.ID_ANY, title=title,
          style=(wx.DEFAULT_FRAME_STYLE | wx.WS_EX_CONTEXTHELP) ^ 
             (wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX),
          pos=(20, 20))
    self.SetExtraStyle(wx.FRAME_EX_CONTEXTHELP)
    self.createOtherStuffHere()
    self.Show()

我如何告诉小部件其帮助提示框应显示: "This button cooks spam, ham, and eggs"

查看上下文帮助类

需要注意的重要事情是您必须初始化帮助提供程序,例如

provider = wx.SimpleHelpProvider()
wx.HelpProvider_Set(provider)

并为小部件设置帮助文本,例如

panel.SetHelpText("This is a wx.Panel.")

工作示例:

import  wx

class Frame(wx.Frame):
  def __init__(self, parent, title):
    wx.Frame.__init__(self, parent=parent, id=wx.ID_ANY, title=title,
                style=(wx.DEFAULT_FRAME_STYLE | wx.WS_EX_CONTEXTHELP) ,
                pos=(20, 20))
    self.SetExtraStyle(wx.FRAME_EX_CONTEXTHELP)
    self.CreateStatusBar()
    self.createOtherStuffHere()
    self.Show()

  def createOtherStuffHere(self):
    panel = wx.Panel(self)
    panel.SetHelpText("This is a wx.Panel.")

    self.label = wx.StaticText(panel, style=wx.WS_EX_CONTEXTHELP, label="Click me I may provide some help?", size=(200,30))
    self.label.SetHelpText("This is the help though not so helpful!")

    self.edit = wx.TextCtrl(panel, pos=(20,50))
    self.edit.SetHelpText("i am a edit box")

    self.helpButton = wx.ContextHelpButton(panel, pos=(20,100))

provider = wx.SimpleHelpProvider()
wx.HelpProvider_Set(provider)

app = wx.PySimpleApp()
frame = Frame(None, "Test")
app.SetTopWindow(frame)
app.MainLoop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM