ttkbootstrap界面美化系列之Menubutton(五)

一:Menubutton接口

print(help(help(ttk.Menubutton)))
Help on class Menubutton in module tkinter.ttk:class Menubutton(Widget)|  Menubutton(master=None, **kw)||  Ttk Menubutton widget displays a textual label and/or image, and|  displays a menu when pressed.||  Method resolution order:|      Menubutton|      Widget|      tkinter.Widget|      tkinter.BaseWidget|      tkinter.Misc|      tkinter.Pack|      tkinter.Place|      tkinter.Grid|      builtins.object||  Methods defined here:||  __init__(self, master=None, **kw)|      Construct a Ttk Menubutton with parent master.||      STANDARD OPTIONS||          class, compound, cursor, image, state, style, takefocus,|          text, textvariable, underline, width||      WIDGET-SPECIFIC OPTIONS||          direction, menu||  ----------------------------------------------------------------------|  Methods inherited from Widget:||  identify(self, x, y)|      Returns the name of the element at position x, y, or the empty|      string if the point does not lie within any element.||      x and y are pixel coordinates relative to the widget.||  instate(self, statespec, callback=None, *args, **kw)|      Test the widget's state.||      If callback is not specified, returns True if the widget state|      matches statespec and False otherwise. If callback is specified,|      then it will be invoked with *args, **kw if the widget state|      matches statespec. statespec is expected to be a sequence.||  state(self, statespec=None)|      Modify or inquire widget state.||      Widget state is returned if statespec is None, otherwise it is|      set according to the statespec flags and then a new state spec|      is returned indicating which flags were changed. statespec is|      expected to be a sequence.||  ----------------------------------------------------------------------|  Methods inherited from tkinter.BaseWidget:||  destroy(self)|      Destroy this and all descendants widgets.||  ----------------------------------------------------------------------|  Methods inherited from tkinter.Misc:||  __getitem__ = cget(self, key)||  __repr__(self)|      Return repr(self).||  __setitem__(self, key, value)||  __str__(self)|      Return the window path name of this widget.||  after(self, ms, func=None, *args)|      Call function once after given time.||      MS specifies the time in milliseconds. FUNC gives the|      function which shall be called. Additional parameters|      are given as parameters to the function call.  Return|      identifier to cancel scheduling with after_cancel.||  after_cancel(self, id)|      Cancel scheduling of function identified with ID.||      Identifier returned by after or after_idle must be|      given as first parameter.||  after_idle(self, func, *args)|      Call FUNC once if the Tcl main loop has no event to|      process.||      Return an identifier to cancel the scheduling with|      after_cancel.||  anchor = grid_anchor(self, anchor=None)||  bbox = grid_bbox(self, column=None, row=None, col2=None, row2=None)||  bell(self, displayof=0)|      Ring a display's bell.||  bind(self, sequence=None, func=None, add=None)|      Bind to this widget at event SEQUENCE a call to function FUNC.||      SEQUENCE is a string of concatenated event|      patterns. An event pattern is of the form|      <MODIFIER-MODIFIER-TYPE-DETAIL> where MODIFIER is one|      of Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4,|      Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3,|      B3, Alt, Button4, B4, Double, Button5, B5 Triple,|      Mod1, M1. TYPE is one of Activate, Enter, Map,|      ButtonPress, Button, Expose, Motion, ButtonRelease|      FocusIn, MouseWheel, Circulate, FocusOut, Property,|      Colormap, Gravity Reparent, Configure, KeyPress, Key,|      Unmap, Deactivate, KeyRelease Visibility, Destroy,|      Leave and DETAIL is the button number for ButtonPress,|      ButtonRelease and DETAIL is the Keysym for KeyPress and|      KeyRelease. Examples are|      <Control-Button-1> for pressing Control and mouse button 1 or|      <Alt-A> for pressing A and the Alt key (KeyPress can be omitted).|      An event pattern can also be a virtual event of the form|      <<AString>> where AString can be arbitrary. This|      event can be generated by event_generate.|      If events are concatenated they must appear shortly|      after each other.||      FUNC will be called if the event sequence occurs with an|      instance of Event as argument. If the return value of FUNC is|      "break" no further bound function is invoked.||      An additional boolean parameter ADD specifies whether FUNC will|      be called additionally to the other bound function or whether|      it will replace the previous function.||      Bind will return an identifier to allow deletion of the bound function with|      unbind without memory leak.||      If FUNC or SEQUENCE is omitted the bound function or list|      of bound events are returned.||  bind_all(self, sequence=None, func=None, add=None)|      Bind to all widgets at an event SEQUENCE a call to function FUNC.|      An additional boolean parameter ADD specifies whether FUNC will|      be called additionally to the other bound function or whether|      it will replace the previous function. See bind for the return value.||  bind_class(self, className, sequence=None, func=None, add=None)|      Bind to widgets with bindtag CLASSNAME at event|      SEQUENCE a call of function FUNC. An additional|      boolean parameter ADD specifies whether FUNC will be|      called additionally to the other bound function or|      whether it will replace the previous function. See bind for|      the return value.||  bindtags(self, tagList=None)|      Set or get the list of bindtags for this widget.||      With no argument return the list of all bindtags associated with|      this widget. With a list of strings as argument the bindtags are|      set to this list. The bindtags determine in which order events are|      processed (see bind).||  cget(self, key)|      Return the resource value for a KEY given as string.||  clipboard_append(self, string, **kw)|      Append STRING to the Tk clipboard.||      A widget specified at the optional displayof keyword|      argument specifies the target display. The clipboard|      can be retrieved with selection_get.||  clipboard_clear(self, **kw)|      Clear the data in the Tk clipboard.||      A widget specified for the optional displayof keyword|      argument specifies the target display.||  clipboard_get(self, **kw)|      Retrieve data from the clipboard on window's display.||      The window keyword defaults to the root window of the Tkinter|      application.||      The type keyword specifies the form in which the data is|      to be returned and should be an atom name such as STRING|      or FILE_NAME.  Type defaults to STRING, except on X11, where the default|      is to try UTF8_STRING and fall back to STRING.||      This command is equivalent to:||      selection_get(CLIPBOARD)||  columnconfigure = grid_columnconfigure(self, index, cnf={}, **kw)||  config = configure(self, cnf=None, **kw)||  configure(self, cnf=None, **kw)|      Configure resources of a widget.||      The values for resources are specified as keyword|      arguments. To get an overview about|      the allowed keyword arguments call the method keys.||  deletecommand(self, name)|      Internal function.||      Delete the Tcl command provided in NAME.||  event_add(self, virtual, *sequences)|      Bind a virtual event VIRTUAL (of the form <<Name>>)|      to an event SEQUENCE such that the virtual event is triggered|      whenever SEQUENCE occurs.||  event_delete(self, virtual, *sequences)|      Unbind a virtual event VIRTUAL from SEQUENCE.||  event_generate(self, sequence, **kw)|      Generate an event SEQUENCE. Additional|      keyword arguments specify parameter of the event|      (e.g. x, y, rootx, rooty).||  event_info(self, virtual=None)|      Return a list of all virtual events or the information|      about the SEQUENCE bound to the virtual event VIRTUAL.||  focus = focus_set(self)||  focus_displayof(self)|      Return the widget which has currently the focus on the|      display where this widget is located.||      Return None if the application does not have the focus.||  focus_force(self)|      Direct input focus to this widget even if the|      application does not have the focus. Use with|      caution!||  focus_get(self)|      Return the widget which has currently the focus in the|      application.||      Use focus_displayof to allow working with several|      displays. Return None if application does not have|      the focus.||  focus_lastfor(self)|      Return the widget which would have the focus if top level|      for this widget gets the focus from the window manager.||  focus_set(self)|      Direct input focus to this widget.||      If the application currently does not have the focus|      this widget will get the focus if the application gets|      the focus through the window manager.||  getboolean(self, s)|      Return a boolean value for Tcl boolean values true and false given as parameter.||  getdouble(self, s)||  getint(self, s)||  getvar(self, name='PY_VAR')|      Return value of Tcl variable NAME.||  grab_current(self)|      Return widget which has currently the grab in this application|      or None.||  grab_release(self)|      Release grab for this widget if currently set.||  grab_set(self)|      Set grab for this widget.||      A grab directs all events to this and descendant|      widgets in the application.||  grab_set_global(self)|      Set global grab for this widget.||      A global grab directs all events to this and|      descendant widgets on the display. Use with caution -|      other applications do not get events anymore.||  grab_status(self)|      Return None, "local" or "global" if this widget has|      no, a local or a global grab.||  grid_anchor(self, anchor=None)|      The anchor value controls how to place the grid within the|      master when no row/column has any weight.||      The default anchor is nw.||  grid_bbox(self, column=None, row=None, col2=None, row2=None)|      Return a tuple of integer coordinates for the bounding|      box of this widget controlled by the geometry manager grid.||      If COLUMN, ROW is given the bounding box applies from|      the cell with row and column 0 to the specified|      cell. If COL2 and ROW2 are given the bounding box|      starts at that cell.||      The returned integers specify the offset of the upper left|      corner in the master widget and the width and height.||  grid_columnconfigure(self, index, cnf={}, **kw)|      Configure column INDEX of a grid.||      Valid resources are minsize (minimum size of the column),|      weight (how much does additional space propagate to this column)|      and pad (how much space to let additionally).||  grid_location(self, x, y)|      Return a tuple of column and row which identify the cell|      at which the pixel at position X and Y inside the master|      widget is located.||  grid_propagate(self, flag=['_noarg_'])|      Set or get the status for propagation of geometry information.||      A boolean argument specifies whether the geometry information|      of the slaves will determine the size of this widget. If no argument|      is given, the current setting will be returned.||  grid_rowconfigure(self, index, cnf={}, **kw)|      Configure row INDEX of a grid.||      Valid resources are minsize (minimum size of the row),|      weight (how much does additional space propagate to this row)|      and pad (how much space to let additionally).||  grid_size(self)|      Return a tuple of the number of column and rows in the grid.||  grid_slaves(self, row=None, column=None)|      Return a list of all slaves of this widget|      in its packing order.||  image_names(self)|      Return a list of all existing image names.||  image_types(self)|      Return a list of all available image types (e.g. photo bitmap).||  info_patchlevel(self)|      Returns the exact version of the Tcl library.||  keys(self)|      Return a list of all resource names of this widget.||  lift = tkraise(self, aboveThis=None)||  lower(self, belowThis=None)|      Lower this widget in the stacking order.||  mainloop(self, n=0)|      Call the mainloop of Tk.||  nametowidget(self, name)|      Return the Tkinter instance of a widget identified by|      its Tcl name NAME.||  option_add(self, pattern, value, priority=None)|      Set a VALUE (second parameter) for an option|      PATTERN (first parameter).||      An optional third parameter gives the numeric priority|      (defaults to 80).||  option_clear(self)|      Clear the option database.||      It will be reloaded if option_add is called.||  option_get(self, name, className)|      Return the value for an option NAME for this widget|      with CLASSNAME.||      Values with higher priority override lower values.||  option_readfile(self, fileName, priority=None)|      Read file FILENAME into the option database.||      An optional second parameter gives the numeric|      priority.||  pack_propagate(self, flag=['_noarg_'])|      Set or get the status for propagation of geometry information.||      A boolean argument specifies whether the geometry information|      of the slaves will determine the size of this widget. If no argument|      is given the current setting will be returned.||  pack_slaves(self)|      Return a list of all slaves of this widget|      in its packing order.||  place_slaves(self)|      Return a list of all slaves of this widget|      in its packing order.||  propagate = pack_propagate(self, flag=['_noarg_'])||  quit(self)|      Quit the Tcl interpreter. All widgets will be destroyed.||  register = _register(self, func, subst=None, needcleanup=1)||  rowconfigure = grid_rowconfigure(self, index, cnf={}, **kw)||  selection_clear(self, **kw)|      Clear the current X selection.||  selection_get(self, **kw)|      Return the contents of the current X selection.||      A keyword parameter selection specifies the name of|      the selection and defaults to PRIMARY.  A keyword|      parameter displayof specifies a widget on the display|      to use. A keyword parameter type specifies the form of data to be|      fetched, defaulting to STRING except on X11, where UTF8_STRING is tried|      before STRING.||  selection_handle(self, command, **kw)|      Specify a function COMMAND to call if the X|      selection owned by this widget is queried by another|      application.||      This function must return the contents of the|      selection. The function will be called with the|      arguments OFFSET and LENGTH which allows the chunking|      of very long selections. The following keyword|      parameters can be provided:|      selection - name of the selection (default PRIMARY),|      type - type of the selection (e.g. STRING, FILE_NAME).||  selection_own(self, **kw)|      Become owner of X selection.||      A keyword parameter selection specifies the name of|      the selection (default PRIMARY).||  selection_own_get(self, **kw)|      Return owner of X selection.||      The following keyword parameter can|      be provided:|      selection - name of the selection (default PRIMARY),|      type - type of the selection (e.g. STRING, FILE_NAME).||  send(self, interp, cmd, *args)|      Send Tcl command CMD to different interpreter INTERP to be executed.||  setvar(self, name='PY_VAR', value='1')|      Set Tcl variable NAME to VALUE.||  size = grid_size(self)||  slaves = pack_slaves(self)||  tk_bisque(self)|      Change the color scheme to light brown as used in Tk 3.6 and before.||  tk_focusFollowsMouse(self)|      The widget under mouse will get automatically focus. Can not|      be disabled easily.||  tk_focusNext(self)|      Return the next widget in the focus order which follows|      widget which has currently the focus.||      The focus order first goes to the next child, then to|      the children of the child recursively and then to the|      next sibling which is higher in the stacking order.  A|      widget is omitted if it has the takefocus resource set|      to 0.||  tk_focusPrev(self)|      Return previous widget in the focus order. See tk_focusNext for details.||  tk_setPalette(self, *args, **kw)|      Set a new color scheme for all widget elements.||      A single color as argument will cause that all colors of Tk|      widget elements are derived from this.|      Alternatively several keyword parameters and its associated|      colors can be given. The following keywords are valid:|      activeBackground, foreground, selectColor,|      activeForeground, highlightBackground, selectBackground,|      background, highlightColor, selectForeground,|      disabledForeground, insertBackground, troughColor.||  tk_strictMotif(self, boolean=None)|      Set Tcl internal variable, whether the look and feel|      should adhere to Motif.||      A parameter of 1 means adhere to Motif (e.g. no color|      change if mouse passes over slider).|      Returns the set value.||  tkraise(self, aboveThis=None)|      Raise this widget in the stacking order.||  unbind(self, sequence, funcid=None)|      Unbind for this widget the event SEQUENCE.||      If FUNCID is given, only unbind the function identified with FUNCID|      and also delete the corresponding Tcl command.||      Otherwise destroy the current binding for SEQUENCE, leaving SEQUENCE|      unbound.||  unbind_all(self, sequence)|      Unbind for all widgets for event SEQUENCE all functions.||  unbind_class(self, className, sequence)|      Unbind for all widgets with bindtag CLASSNAME for event SEQUENCE|      all functions.||  update(self)|      Enter event loop until all pending events have been processed by Tcl.||  update_idletasks(self)|      Enter event loop until all idle callbacks have been called. This|      will update the display of windows but not process events caused by|      the user.||  wait_variable(self, name='PY_VAR')|      Wait until the variable is modified.||      A parameter of type IntVar, StringVar, DoubleVar or|      BooleanVar must be given.||  wait_visibility(self, window=None)|      Wait until the visibility of a WIDGET changes|      (e.g. it appears).||      If no parameter is given self is used.||  wait_window(self, window=None)|      Wait until a WIDGET is destroyed.||      If no parameter is given self is used.||  waitvar = wait_variable(self, name='PY_VAR')||  winfo_atom(self, name, displayof=0)|      Return integer which represents atom NAME.||  winfo_atomname(self, id, displayof=0)|      Return name of atom with identifier ID.||  winfo_cells(self)|      Return number of cells in the colormap for this widget.||  winfo_children(self)|      Return a list of all widgets which are children of this widget.||  winfo_class(self)|      Return window class name of this widget.||  winfo_colormapfull(self)|      Return True if at the last color request the colormap was full.||  winfo_containing(self, rootX, rootY, displayof=0)|      Return the widget which is at the root coordinates ROOTX, ROOTY.||  winfo_depth(self)|      Return the number of bits per pixel.||  winfo_exists(self)|      Return true if this widget exists.||  winfo_fpixels(self, number)|      Return the number of pixels for the given distance NUMBER|      (e.g. "3c") as float.||  winfo_geometry(self)|      Return geometry string for this widget in the form "widthxheight+X+Y".||  winfo_height(self)|      Return height of this widget.||  winfo_id(self)|      Return identifier ID for this widget.||  winfo_interps(self, displayof=0)|      Return the name of all Tcl interpreters for this display.||  winfo_ismapped(self)|      Return true if this widget is mapped.||  winfo_manager(self)|      Return the window manager name for this widget.||  winfo_name(self)|      Return the name of this widget.||  winfo_parent(self)|      Return the name of the parent of this widget.||  winfo_pathname(self, id, displayof=0)|      Return the pathname of the widget given by ID.||  winfo_pixels(self, number)|      Rounded integer value of winfo_fpixels.||  winfo_pointerx(self)|      Return the x coordinate of the pointer on the root window.||  winfo_pointerxy(self)|      Return a tuple of x and y coordinates of the pointer on the root window.||  winfo_pointery(self)|      Return the y coordinate of the pointer on the root window.||  winfo_reqheight(self)|      Return requested height of this widget.||  winfo_reqwidth(self)|      Return requested width of this widget.||  winfo_rgb(self, color)|      Return a tuple of integer RGB values in range(65536) for color in this widget.||  winfo_rootx(self)|      Return x coordinate of upper left corner of this widget on the|      root window.||  winfo_rooty(self)|      Return y coordinate of upper left corner of this widget on the|      root window.||  winfo_screen(self)|      Return the screen name of this widget.||  winfo_screencells(self)|      Return the number of the cells in the colormap of the screen|      of this widget.||  winfo_screendepth(self)|      Return the number of bits per pixel of the root window of the|      screen of this widget.||  winfo_screenheight(self)|      Return the number of pixels of the height of the screen of this widget|      in pixel.||  winfo_screenmmheight(self)|      Return the number of pixels of the height of the screen of|      this widget in mm.||  winfo_screenmmwidth(self)|      Return the number of pixels of the width of the screen of|      this widget in mm.||  winfo_screenvisual(self)|      Return one of the strings directcolor, grayscale, pseudocolor,|      staticcolor, staticgray, or truecolor for the default|      colormodel of this screen.||  winfo_screenwidth(self)|      Return the number of pixels of the width of the screen of|      this widget in pixel.||  winfo_server(self)|      Return information of the X-Server of the screen of this widget in|      the form "XmajorRminor vendor vendorVersion".||  winfo_toplevel(self)|      Return the toplevel widget of this widget.||  winfo_viewable(self)|      Return true if the widget and all its higher ancestors are mapped.||  winfo_visual(self)|      Return one of the strings directcolor, grayscale, pseudocolor,|      staticcolor, staticgray, or truecolor for the|      colormodel of this widget.||  winfo_visualid(self)|      Return the X identifier for the visual for this widget.||  winfo_visualsavailable(self, includeids=False)|      Return a list of all visuals available for the screen|      of this widget.||      Each item in the list consists of a visual name (see winfo_visual), a|      depth and if includeids is true is given also the X identifier.||  winfo_vrootheight(self)|      Return the height of the virtual root window associated with this|      widget in pixels. If there is no virtual root window return the|      height of the screen.||  winfo_vrootwidth(self)|      Return the width of the virtual root window associated with this|      widget in pixel. If there is no virtual root window return the|      width of the screen.||  winfo_vrootx(self)|      Return the x offset of the virtual root relative to the root|      window of the screen of this widget.||  winfo_vrooty(self)|      Return the y offset of the virtual root relative to the root|      window of the screen of this widget.||  winfo_width(self)|      Return the width of this widget.||  winfo_x(self)|      Return the x coordinate of the upper left corner of this widget|      in the parent.||  winfo_y(self)|      Return the y coordinate of the upper left corner of this widget|      in the parent.||  ----------------------------------------------------------------------|  Data descriptors inherited from tkinter.Misc:||  __dict__|      dictionary for instance variables||  __weakref__|      list of weak references to the object||  ----------------------------------------------------------------------|  Methods inherited from tkinter.Pack:||  forget = pack_forget(self)||  info = pack_info(self)||  pack = pack_configure(self, cnf={}, **kw)||  pack_configure(self, cnf={}, **kw)|      Pack a widget in the parent widget. Use as options:|      after=widget - pack it after you have packed widget|      anchor=NSEW (or subset) - position widget according to|                                given direction|      before=widget - pack it before you will pack widget|      expand=bool - expand widget if parent size grows|      fill=NONE or X or Y or BOTH - fill widget if widget grows|      in=master - use master to contain this widget|      in_=master - see 'in' option description|      ipadx=amount - add internal padding in x direction|      ipady=amount - add internal padding in y direction|      padx=amount - add padding in x direction|      pady=amount - add padding in y direction|      side=TOP or BOTTOM or LEFT or RIGHT -  where to add this widget.||  pack_forget(self)|      Unmap this widget and do not use it for the packing order.||  pack_info(self)|      Return information about the packing options|      for this widget.||  ----------------------------------------------------------------------|  Methods inherited from tkinter.Place:||  place = place_configure(self, cnf={}, **kw)||  place_configure(self, cnf={}, **kw)|      Place a widget in the parent widget. Use as options:|      in=master - master relative to which the widget is placed|      in_=master - see 'in' option description|      x=amount - locate anchor of this widget at position x of master|      y=amount - locate anchor of this widget at position y of master|      relx=amount - locate anchor of this widget between 0.0 and 1.0|                    relative to width of master (1.0 is right edge)|      rely=amount - locate anchor of this widget between 0.0 and 1.0|                    relative to height of master (1.0 is bottom edge)|      anchor=NSEW (or subset) - position anchor according to given direction|      width=amount - width of this widget in pixel|      height=amount - height of this widget in pixel|      relwidth=amount - width of this widget between 0.0 and 1.0|                        relative to width of master (1.0 is the same width|                        as the master)|      relheight=amount - height of this widget between 0.0 and 1.0|                         relative to height of master (1.0 is the same|                         height as the master)|      bordermode="inside" or "outside" - whether to take border width of|                                         master widget into account||  place_forget(self)|      Unmap this widget.||  place_info(self)|      Return information about the placing options|      for this widget.||  ----------------------------------------------------------------------|  Methods inherited from tkinter.Grid:||  grid = grid_configure(self, cnf={}, **kw)||  grid_configure(self, cnf={}, **kw)|      Position a widget in the parent widget in a grid. Use as options:|      column=number - use cell identified with given column (starting with 0)|      columnspan=number - this widget will span several columns|      in=master - use master to contain this widget|      in_=master - see 'in' option description|      ipadx=amount - add internal padding in x direction|      ipady=amount - add internal padding in y direction|      padx=amount - add padding in x direction|      pady=amount - add padding in y direction|      row=number - use cell identified with given row (starting with 0)|      rowspan=number - this widget will span several rows|      sticky=NSEW - if cell is larger on which sides will this|                    widget stick to the cell boundary||  grid_forget(self)|      Unmap this widget.||  grid_info(self)|      Return information about the options|      for positioning this widget in a grid.||  grid_remove(self)|      Unmap this widget but remember the grid options.||  location = grid_location(self, x, y)None
[Finished in 380ms]

通过dir来查看Menubutton支持的属性和方法

['_Misc__winfo_getint', '_Misc__winfo_parseitem', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_bind', '_configure', '_displayof', '_do', '_getboolean', '_getconfigure', '_getconfigure1', '_getdoubles', '_getints', '_grid_configure', '_gridconvvalue', '_last_child_ids', '_nametowidget', '_noarg_', '_options', '_register', '_report_exception', '_root', '_setup', '_subst_format', '_subst_format_str', '_substitute', '_tclCommands', '_unbind', '_windowingsystem', 'after', 'after_cancel', 'after_idle', 'anchor', 'bbox', 'bell', 'bind', 'bind_all', 'bind_class', 'bindtags', 'cget', 'clipboard_append', 'clipboard_clear', 'clipboard_get', 'columnconfigure', 'config', 'configure', 'deletecommand', 'destroy', 'event_add', 'event_delete', 'event_generate', 'event_info', 'focus', 'focus_displayof', 'focus_force', 'focus_get', 'focus_lastfor', 'focus_set', 'forget', 'getboolean', 'getdouble', 'getint', 'getvar', 'grab_current', 'grab_release', 'grab_set', 'grab_set_global', 'grab_status', 'grid', 'grid_anchor', 'grid_bbox', 'grid_columnconfigure', 'grid_configure', 'grid_forget', 'grid_info', 'grid_location', 'grid_propagate', 'grid_remove', 'grid_rowconfigure', 'grid_size', 'grid_slaves', 'identify', 'image_names', 'image_types', 'info', 'info_patchlevel', 'instate', 'keys', 'lift', 'location', 'lower', 'mainloop', 'nametowidget', 'option_add', 'option_clear', 'option_get', 'option_readfile', 'pack', 'pack_configure', 'pack_forget', 'pack_info', 'pack_propagate', 'pack_slaves', 'place', 'place_configure', 'place_forget', 'place_info', 'place_slaves', 'propagate', 'quit', 'register', 'rowconfigure', 'selection_clear', 'selection_get', 'selection_handle', 'selection_own', 'selection_own_get', 'send', 'setvar', 'size', 'slaves', 'state', 'tk_bisque', 'tk_focusFollowsMouse', 'tk_focusNext', 'tk_focusPrev', 'tk_setPalette', 'tk_strictMotif', 'tkraise', 'unbind', 'unbind_all', 'unbind_class', 'update', 'update_idletasks', 'wait_variable', 'wait_visibility', 'wait_window', 'waitvar', 'winfo_atom', 'winfo_atomname', 'winfo_cells', 'winfo_children', 'winfo_class', 'winfo_colormapfull', 'winfo_containing', 'winfo_depth', 'winfo_exists', 'winfo_fpixels', 'winfo_geometry', 'winfo_height', 'winfo_id', 'winfo_interps', 'winfo_ismapped', 'winfo_manager', 'winfo_name', 'winfo_parent', 'winfo_pathname', 'winfo_pixels', 'winfo_pointerx', 'winfo_pointerxy', 'winfo_pointery', 'winfo_reqheight', 'winfo_reqwidth', 'winfo_rgb', 'winfo_rootx', 'winfo_rooty', 'winfo_screen', 'winfo_screencells', 'winfo_screendepth', 'winfo_screenheight', 'winfo_screenmmheight', 'winfo_screenmmwidth', 'winfo_screenvisual', 'winfo_screenwidth', 'winfo_server', 'winfo_toplevel', 'winfo_viewable', 'winfo_visual', 'winfo_visualid', 'winfo_visualsavailable', 'winfo_vrootheight', 'winfo_vrootwidth', 'winfo_vrootx', 'winfo_vrooty', 'winfo_width', 'winfo_x', 'winfo_y']
[Finished in 284ms]

二:Menubutton创建

import tkinter as tk
from tkinter import ttkclass App(tk.Tk):def __init__(self):super().__init__()self.geometry('300x250')self.title('Menubutton Demo')# Menubutton variableself.selected_color = tk.StringVar()self.selected_color.trace("w", self.menu_item_selected)# create the menu buttonself.create_menu_button()def menu_item_selected(self, *args):""" handle menu selected event """self.config(bg=self.selected_color.get())def create_menu_button(self):""" create a menu button """# menu variablecolors = ('Red', 'Green', 'Blue')# create the Menubuttonmenu_button = ttk.Menubutton(self,text='Select a color',style='info.Outline.TMenubutton')# create a new menu instancemenu = tk.Menu(menu_button, tearoff=0)for color in colors:menu.add_radiobutton(label=color,value=color,variable=self.selected_color)# associate menu with the Menubuttonmenu_button["menu"] = menumenu_button.pack(expand=True)if __name__ == "__main__":app = App()app.mainloop()

三:Menubutton选项

Table 48. ttk.Menubutton options

class_The widget class name. This may be specified when the widget is created, but cannot be changed later. For an explanation of widget classes, see Section 27, “Standardizing appearance”.
compound

If you provide both image and text options, the compound option specifies the position of the image relative to the text. The value may be tk.TOP (image above text), tk.BOTTOM (image below text), tk.LEFT (image to the left of the text), or tk.RIGHT (image to the right of the text).

When you provide both image and text options but don't specify a compound option, the image will appear and the text will not.

cursorThe cursor that will appear when the mouse is over the button; see Section 5.8, “Cursors”.
direction

This option specifies the position where the drop-down menu appears, relative to the menubutton.

aboveThe menu will appear just above the menubutton.
belowThe menu will appear just below the menubutton.
flushThe menu will appear over the menubutton, so that the menu's northwest corner coincides with the menubutton's northwest corner.
leftThe menu will appear just to the left of the menubutton.
rightThe menu will appear just to the right of the menubutton.

imageAn image to appear on the menubutton; see Section 5.9, “Images”.
menuThe related Menu widget. See Section 15, “The Menu widget” for the procedure used to establish this mutual connection.
styleThe style to be used in rendering this menubutton; see Section 49, “Using and customizing ttk styles”.
takefocusBy default, a ttk.Menubutton will be included in focus traversal; see Section 53, “Focus: routing keyboard input”. To remove the widget from focus traversal, use takefocus=False.
textThe text to appear on the menubutton, as a string.
textvariableA variable that controls the text that appears on the menubutton; see Section 52, “Control variables: the values behind the widgets”.
underlineIf this option has a nonnegative value n, an underline will appear under the character at position n.
widthIf the label is text, this option specifies the absolute width of the text area on the button, as a number of characters; the actual width is that number multiplied by the average width of a character in the current font. For image labels, this option is ignored. The option may also be configured in a style.

The following options of the Tkinter Menubutton button, described in Section 16, “The Menubutton widget”, are not supported by ttk.Menubutton:

以下选项在 ttk.Menubutton中是不支持的

Table 49. Tkinter Menubutton options not in ttk.Menubutton

activebackgroundUse a style map to control the background option; see Section 50.2, “ttk style maps: dynamic appearance changes”.
activeforegroundUse a style map to control the foreground option.
anchorConfigure this option using a style; see Section 49, “Using and customizing ttk styles”. Use this option to specify the position of the text when the width option allocates extra horizontal space.
bitmapNot supported.
borderwidth or bdConfigure the borderwidth option using a style. The bd abbreviation is not supported.
buttonbackgroundNot supported.
buttoncursorNot supported.
buttondownreliefNot supported.
buttonupNot supported.
disabledforegroundUse a style map for the foreground option; see Section 50.2, “ttk style maps: dynamic appearance changes”.
fontConfigure this option using a style.
foreground or fgConfigure the foreground option using a style.
heightNot supported.
highlightbackgroundTo control the color of the focus highlight when the menubutton does not have focus, use a style map to control the highlightcolor option; see Section 50.2, “ttk style maps: dynamic appearance changes”.
highlightcolorYou may specify the default focus highlight color by setting this option in a style. You may also control the focus highlight color using a style map.
highlightthicknessConfigure this option using a style.
justifyIf the text contains newline ('\n') characters, the text will occupy multiple lines on the menubutton. The justify option controls how each line is positioned horizontally. Configure this option using a style; values may be tk.LEFTtk.CENTER, or tk.RIGHT for lines that are left-aligned, centered, or right-aligned, respectively.
padxNot supported.
padyNot supported.
reliefConfigure this option using a style; see Section 49, “Using and customizing ttk styles”.
wraplengthIf you use a style with this option set to some dimension, the text will be sliced into pieces no longer than that dimension.

四:Menu控件

import ttkbootstrap as ttk
from ttkbootstrap.dialogs import Messagebox
root = ttk.Window()
# 在窗口上创建一个菜单栏(最上方的菜单栏横条)
menubar = ttk.Menu(root)
def dianji(): #定义一个点击事件方法Messagebox.show_info(title='走走走!', message='该功能还未开放!')   #消息提示框窗口
# 定义一个竖条
filemenu = ttk.Menu(menubar)
# 在菜单单元中添加一个菜单项File
menubar.add_cascade(label='设置', menu=filemenu)
# 在设置菜单项添加命令选项
filemenu.add_command(label='更多', command=dianji)
# 添加一条分割线
filemenu.add_separator()
# 定义一个子菜单条
submenu = ttk.Menu(filemenu)  # 和上面定义菜单一样,不过此处是在设置上创建一个空的菜单
submenu.add_command(label="背景")  # 给submenu添加功能选项
submenu.add_command(label="字体")
submenu.add_command(label="大小")
# 添加一个展开下拉菜单,并把上面的子菜单嵌入给它
filemenu.add_cascade(label='个性化', menu=submenu, underline=0)
# 同样的在File中加入Exit小菜单,此处对应命令为window.quit
filemenu.add_command(label='退出', command=root.quit)
# 在顶部再添加多个菜单项
otherfunction = ttk.Menu(menubar)
menubar.add_cascade(label='选择', menu=otherfunction)
menubar.add_cascade(label='查看', menu=otherfunction)
otherfunction.add_command(label='该功能未开放!')
#帮助
def baidu():Messagebox.okcancel(title='baidu.com', message='走走走,自己去百度!')
help = ttk.Menu(menubar, tearoff=0)
menubar.add_cascade(label='帮助', menu=help)
help.add_command(label='help', command=baidu)
# 将菜单配置给窗口
root.config(menu=menubar)root.mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/833260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt | QComboBox(组合框)

01、上节回顾 Qt 基础教程合集02、QComBox 一、QComboBox 类(下拉列表、组合框) 1、QComboBox 类是 QWidget 类的直接子类,该类实现了一个组合框 2、QComboBox 类中的属性 ①、count:const int 访问函数:int count() const; 获取组合框中的项目数量,默认情况下,对于空…

动态规划——路径问题:LCR 166.珠宝的最高价值

文章目录 题目描述算法原理1.状态表示&#xff08;题目经验&#xff09;2.状态转移方程3.初始化4.填表顺序5.返回值 代码实现CJava 题目描述 题目链接&#xff1a;LCR 166.珠宝的最高价值 算法原理 1.状态表示&#xff08;题目经验&#xff09; 对于这种路径类的问题&…

Windows系统和unbtun系统连接usb 3.0海康可见MVS和红外艾睿相机

一.海康可见USB3.0工业面阵相机 海康usb相机需要去海康官网上下载对应系统的MVS客户端及SDK开发包 海康机器人-机器视觉-下载中心 选择Windows系统和unbtun&#xff08;我是linux aarch64,所以选择了对应压缩包解压&#xff09; Windows系统 1.双击安装包进入安装界面&…

自学错误合集--项目打包报错,运行报错持续更新中

java后端自学错误总结 一.项目打包报错2.项目打包之后运行报错 二.项目运行报错 一.项目打包报错 javac: &#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ļ&#xfffd;: E:\xx\xx\xx\docer-xx\src\main\java\xx\xx\xx\xx\xx\xx.java &#xfffd;&#xff…

C/C++ BM30 二叉搜索树与双向链表

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 这道题要明白二叉搜索树的概念&#xff0c;同时还要对链表的知识比较熟悉。 题目 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。如下图所示 数据范…

鸿蒙开发接口Ability框架:【@ohos.application.missionManager (missionManager)】

missionManager missionManager模块提供系统任务管理能力&#xff0c;包括对系统任务执行锁定、解锁、清理、切换到前台等操作。 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 impo…

Sentinel-Dashboard安装

1. Docker官方镜像 找到跟你版本相对于的镜像进行拉取&#xff1a; &#xfeff;https://hub.docker.com/r/bladex/sentinel-dashboard # 运行容器 Sentinel默认端口 8858 docker run --name sentinel-dashboard -p 8858:8858 -d bladex/sentinel-dashboard:1.8.6 &#xfeff…

【k8s】利用Kubeadm搭建k8s1.29.x版本+containerd

文章目录 前言1.准备的三台虚拟机2.安装 kubeadm 前的准备工作3.安装containerd1.解压安装包2.生成默认配置文件3.使用systemd托管containerd4.修改默认配置文件 4.安装runc5.安装 CNI plugins5.1 安装nerdctl 6.安装 kubeadm、kubelet 和 kubectl6.1 配置crictl 7.初始化集群1…

wordpress忘记后台密码,在数据库中修改回来,然后再修改回去。

源地址&#xff1a;https://www.ctvol.com/seoomethods/1421332.html 我们在做wordpess运维的时候&#xff0c;都会遇到很尴尬的时候&#xff0c;有时候在错误运维中&#xff0c;不知道删除了什么东西&#xff0c;造成wordpress后台不能登录&#xff0c;后台页面也直接失效&am…

文献速递:深度学习医学影像心脏疾病检测与诊断--CT中的深度学习用于自动钙评分:使用多个心脏CT和胸部CT协议的验证

Title 题目 Deep Learning for Automatic Calcium Scoring in CT: Validation Using Multiple Cardiac CT and Chest CT Protocols CT中的深度学习用于自动钙评分&#xff1a;使用多个心脏CT和胸部CT协议的验证 Background 背景 Although several deep learning (DL) calc…

【网站项目】戒烟网站

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

ZIP压缩输出流(将ZIP文件解压)

文章目录 前言一、ZIP压缩输出流是什么&#xff1f;二、使用介绍 1.使用方法2.实操展示总结 前言 该篇文章相对应的介绍如何使用java代码将各种文件&#xff08;文件夹&#xff09;从ZIP压缩文件中取出到指定的文件夹中。解压流将ZIP文件中的文件以条目的形式逐一读取&#xff…

SAP PP模块学习提炼第一部分

SAP是ERP的一款软件。 SAP的入门困难&#xff1a; 听不懂&#xff0c;看不懂缺乏知识体系缺乏行业经验 SAP入门引导&#xff1a; 导师引导实战演练 SAP基础介绍 1.什么是SAP? System, Application and Products in Data Processing 即数据处理的系统、应用和产品。 2.…

RapidJSON介绍

1.简介 RapidJSON 是一个 C 的 JSON 解析库&#xff0c;由腾讯开源。 支持 SAX 和 DOM 风格的 API&#xff0c;并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至…

算法学习007-进制转换 c++递归算法实现 中小学算法思维学习 信奥算法解析

目录 C进制转换 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C进制转换 一、题目要求 1、编程实现 小明学c有一段时间了&#xff0c;今天他想做一个进制转换的小程序&#xff0c;将十进…

网络基础——路由

网络基础——路由 要想网络畅通&#xff0c;应让网络中的路由器知道如何转发数据包到各个网段。路由器根据路由表来转发数据包&#xff0c;而路由表是通过直连网络、静态路由以及动态路由来构建的。 route命令&#xff0c;底层是使用ioctl实现&#xff1b;ip命令&#xff0c;…

一键生成AI数字人短视频工具推荐!

数字人是什么&#xff1f;是利用人工智能技术实现与真人直播形象的1:1克隆&#xff0c;即克隆出一个数字化的你自己&#xff0c;包括你的形象、表情、动作和声音都会被克隆下来&#xff0c;让你能够拥有接近真人的表现力。 怎样使用数字人一天生成上百条短视频&#xff0c;无需…

大模型爱好者的福音,有了它个人电脑也可以运行大模型了

GPT4ALL是一款可以运行在个人电脑上的大模型系统&#xff0c;不需要GPU即可运行&#xff0c;目前支持mac&#xff0c;linux和windows系统。 什么是GPT4ALL&#xff1f; 不论学习任何东西&#xff0c;首先要明白它是个什么东西。 Open-source large language models that run …

2024年CSC公派联合培养博士项目申报即将开始~

一、选派计划 联合培养博士研究生面向全国各博士学位授予单位选拔。 联合培养博士研究生的留学期限、资助期限为6-24个月。留学期限应根据拟留学单位学制、外方录取通知&#xff08;或正式邀请信&#xff09;中列明的留学时间确定。个人申报的资助期限应不超过留学期限&#…

力扣每日一题105:从前序与中序序列构造二叉树

题目 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,1…