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.hqwc.cn/news/669584.html

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

相关文章

git出错、文件无法删除、文件无法访问、文件或目录损坏且无法读取 等相关问题处理

一、错误历程与解决方案 1. 在用idea时&#xff0c;突然出现 部分git的命令无法使用&#xff0c;提示错误 2. 尝试删除项目文件夹&#xff0c;重新从git拉取代码 3.发现无法删除文件夹&#xff0c;删除操作没有任何反应&#xff0c;但是可以对文件夹重命名。 4.重新clone g…

《十六》QT TCP协议工作原理和实战

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍如何运用QTcpSocket组件实现基于TCP的网络通信…

24年最新抖音、视频号0成本挂机,单号每天收益上百,可无限挂

详情介绍 这次给大家带来5月份最新的短视频挂机项目&#xff0c;简单易上手&#xff0c;而且不需要任何投入&#xff0c;经过测试收益非常可观&#xff0c;软件完全免费&#xff0c;特别适合没有时间但是想做副业的家人们

SSL证书0元购——免费实现网站HHTPS

网站要想实现HTTPS访问最为重要的就是安装SSL证书&#xff0c;安装SSL证书后可以消除网站访问不安全提示&#xff0c;优化搜索引擎&#xff08;SEO&#xff09;,保护数据安全&#xff01;有预算的企业或者个人可以选择安全级别更高的OV证书或者EV证书&#xff0c;暂无太多预算的…

深度学习之基于Vgg19预训练卷积神经网络图像风格迁移系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在数字艺术和图像处理领域&#xff0c;图像风格迁移技术一直备受关注。该技术可以将一幅图像的内容和…

XSS Challenges 靶场通关解析

前言 XSS Challenges&#xff08;跨站脚本攻击挑战&#xff09;是一种用于学习和测试跨站脚本&#xff08;XSS&#xff09;漏洞的实验性平台。这些挑战旨在帮助安全研究人员和开发人员了解XSS漏洞的工作原理、检测方法和防御技巧。 通常&#xff0c;XSS Challenges平台提供一…

乘AI之风,看新华三集团如何决胜智算新赛道?

【全球云观察 &#xff5c; 科技热点关注】 曾几何时&#xff0c;面向AI的全行业激情&#xff0c;催生了前所未有的大机会。要不然&#xff0c;作为紫光股份旗下中流砥柱的新华三集团也不会早在2020年就抢先推出了AI in ALL智能战略。 然而&#xff0c;AI技术在创新蓬勃发展的…

冯喜运:5.6周一国际黄金实时盘面走势分,原油最新操作

【黄金消息面分析】&#xff1a;周一(5月6日)亚市盘中&#xff0c;黄金市场出现大行情。现货黄金短线加速飙升&#xff0c;金价一度触及2315美元/盎司&#xff0c;较日内低点大幅反弹逾20美元/盎司&#xff0c;目前交投于2310.61美元/盎司附近。COMEX最活跃黄金期货合约北京时间…

Spring Boot | Spring Security ( SpringBoot安全管理 )、Spring Security中 的 “自定义用户认证“

目录 : Spring Boot 安全管理 &#xff1a;一、Spring Security 介绍二、Spring Security 快速入门2.1 基础环境搭建 :① 创建Spring Boot 项目② 创建 html资源文件③ 编写Web控制层 2.2 开启安全管理效果测试 :④ 添加 spring-boot-starter-security 启动器⑤ 项目启动测试 三…

汉之名将韩信

与英勇霸气的项羽相比&#xff0c;刘邦或许显得无能猥琐&#xff0c;但刘邦深知自己的不足&#xff0c;愿意放权给跟随他的人&#xff0c;让他们发挥才能。正是这种谦逊和智慧&#xff0c;最终让刘邦赢得了天下。 帷帐之间筹谋&#xff0c;千里之外决胜&#xff0c;我之子房无…

LLMs:《Better Faster Large Language Models via Multi-token Prediction》翻译与解读

LLMs&#xff1a;《Better & Faster Large Language Models via Multi-token Prediction》翻译与解读 目录 《Better & Faster Large Language Models via Multi-token Prediction》翻译与解读 Abstract 2、Method方法 Memory-efficient implementation 高效内存实…

小红书怎么养号?百分百获得1200曝光玩法【文字教程无视频】

利用本方法获得1200曝光卷 亲测拉数据起号超好用 外面卖几百块的小玩法【文字教程无视频】 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x