ttkbootstrap界面美化系列之PanedWindow(七)

        在界面设计中经常用PanedWindow控件来对整个界面进行切割布局,让整个界面看上去有层次感,不至于说杂乱无章。在我之前的文章中有对tkinter的该控件做了详细的介绍,链接如下基于Tkinter的PanedWindow组件进行窗口布局-CSDN博客

        本文主要是介绍ttk的 PanedWindow的控件,大体上两者使用方法差不多,但是在显示和使用上还是有一些细微的差别。

一:PanedWindow接口

print(help(dir(ttk.PanedWindow)))
Help on class Panedwindow in module tkinter.ttk:class Panedwindow(Widget, tkinter.PanedWindow)|  Panedwindow(*args, **kwargs)||  Ttk Panedwindow widget displays a number of subwindows, stacked|  either vertically or horizontally.||  Method resolution order:|      Panedwindow|      Widget|      tkinter.PanedWindow|      tkinter.Widget|      tkinter.BaseWidget|      tkinter.Misc|      tkinter.Pack|      tkinter.Place|      tkinter.Grid|      builtins.object||  Methods defined here:||  __init__(self, *args, **kwargs)||  config = configure(self, cnf=None, **kwargs)||  configure(self, cnf=None, **kwargs)||  forget = remove(self, child)||  insert(self, pos, child, **kw)|      Inserts a pane at the specified positions.||      pos is either the string end, and integer index, or the name|      of a child. If child is already managed by the paned window,|      moves it to the specified position.||  pane(self, pane, option=None, **kw)|      Query or modify the options of the specified pane.||      pane is either an integer index or the name of a managed subwindow.|      If kw is not given, returns a dict of the pane option values. If|      option is specified then the value for that option is returned.|      Otherwise, sets the options to the corresponding values.||  sashpos(self, index, newpos=None)|      If newpos is specified, sets the position of sash number index.||      May adjust the positions of adjacent sashes to ensure that|      positions are monotonically increasing. Sash positions are further|      constrained to be between 0 and the total size of the widget.||      Returns the new position of sash number index.||  ----------------------------------------------------------------------|  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.PanedWindow:||  add(self, child, **kw)|      Add a child widget to the panedwindow in a new pane.||      The child argument is the name of the child widget|      followed by pairs of arguments that specify how to|      manage the windows. The possible options and values|      are the ones accepted by the paneconfigure method.||  panecget(self, child, option)|      Query a management option for window.||      Option may be any value allowed by the paneconfigure subcommand||  paneconfig = paneconfigure(self, tagOrId, cnf=None, **kw)||  paneconfigure(self, tagOrId, cnf=None, **kw)|      Query or modify the management options for window.||      If no option is specified, returns a list describing all|      of the available options for pathName.  If option is|      specified with no value, then the command returns a list|      describing the one named option (this list will be identical|      to the corresponding sublist of the value returned if no|      option is specified). If one or more option-value pairs are|      specified, then the command modifies the given widget|      option(s) to have the given value(s); in this case the|      command returns an empty string. The following options|      are supported:||      after window|          Insert the window after the window specified. window|          should be the name of a window already managed by pathName.|      before window|          Insert the window before the window specified. window|          should be the name of a window already managed by pathName.|      height size|          Specify a height for the window. The height will be the|          outer dimension of the window including its border, if|          any. If size is an empty string, or if -height is not|          specified, then the height requested internally by the|          window will be used initially; the height may later be|          adjusted by the movement of sashes in the panedwindow.|          Size may be any value accepted by Tk_GetPixels.|      minsize n|          Specifies that the size of the window cannot be made|          less than n. This constraint only affects the size of|          the widget in the paned dimension -- the x dimension|          for horizontal panedwindows, the y dimension for|          vertical panedwindows. May be any value accepted by|          Tk_GetPixels.|      padx n|          Specifies a non-negative value indicating how much|          extra space to leave on each side of the window in|          the X-direction. The value may have any of the forms|          accepted by Tk_GetPixels.|      pady n|          Specifies a non-negative value indicating how much|          extra space to leave on each side of the window in|          the Y-direction. The value may have any of the forms|          accepted by Tk_GetPixels.|      sticky style|          If a window's pane is larger than the requested|          dimensions of the window, this option may be used|          to position (or stretch) the window within its pane.|          Style is a string that contains zero or more of the|          characters n, s, e or w. The string can optionally|          contains spaces or commas, but they are ignored. Each|          letter refers to a side (north, south, east, or west)|          that the window will "stick" to. If both n and s|          (or e and w) are specified, the window will be|          stretched to fill the entire height (or width) of|          its cavity.|      width size|          Specify a width for the window. The width will be|          the outer dimension of the window including its|          border, if any. If size is an empty string, or|          if -width is not specified, then the width requested|          internally by the window will be used initially; the|          width may later be adjusted by the movement of sashes|          in the panedwindow. Size may be any value accepted by|          Tk_GetPixels.||  panes(self)|      Returns an ordered list of the child panes.||  proxy(self, *args)|      Internal function.||  proxy_coord(self)|      Return the x and y pair of the most recent proxy location||  proxy_forget(self)|      Remove the proxy from the display.||  proxy_place(self, x, y)|      Place the proxy at the given x and y coordinates.||  remove(self, child)|      Remove the pane containing child from the panedwindow||      All geometry management options for child will be forgotten.||  sash(self, *args)|      Internal function.||  sash_coord(self, index)|      Return the current x and y pair for the sash given by index.||      Index must be an integer between 0 and 1 less than the|      number of panes in the panedwindow. The coordinates given are|      those of the top left corner of the region containing the sash.|      pathName sash dragto index x y This command computes the|      difference between the given coordinates and the coordinates|      given to the last sash coord command for the given sash. It then|      moves that sash the computed difference. The return value is the|      empty string.||  sash_mark(self, index)|      Records x and y for the sash given by index;||      Used in conjunction with later dragto commands to move the sash.||  sash_place(self, index, x, y)|      Place the sash given by index at the given coordinates||  ----------------------------------------------------------------------|  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)||  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:||  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 525ms]

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

['_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', 'add', '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', 'insert', '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', 'pane', 'panecget', 'paneconfig', 'paneconfigure', 'panes', 'place', 'place_configure', 'place_forget', 'place_info', 'place_slaves', 'propagate', 'proxy', 'proxy_coord', 'proxy_forget', 'proxy_place', 'quit', 'register', 'remove', 'rowconfigure', 'sash', 'sash_coord', 'sash_mark', 'sash_place', 'sashpos', '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 433ms]

二:PanedWindow创建

import ttkbootstrap as ttk
from ttkbootstrap.constants import *parent = ttk.Window(themename="yeti",     #设置主题yetisize=(300,300))# create a new paned window
pw = ttk.PanedWindow(parent, orient='horizontal',bootstyle=INFO)
pw.pack(fill=BOTH,expand=True)# add something on the left side
left_frame = ttk.Frame(pw,bootstyle=SUCCESS)
left_frame.pack(side='left', fill='both')# add something on the right side
right_frame = ttk.Frame(pw,bootstyle=WARNING)
right_frame.pack(side='left', fill='both')# add the frames to the paned window; a sash will appear between each frame (see image above)
pw.add(left_frame,weight=1)
pw.add(right_frame,weight=2)parent.mainloop()

 

orient参数是创建横向切割或者纵向切割,add方法中weight参数可以调整切割的比例,这是在tkinter原生add中不支持的

三:PanedWindow选项

Table 52. ttk.PanedWindow 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”.
cursorThe cursor that will appear when the mouse is over the checkbutton; see Section 5.8, “Cursors”.
heightThe height dimension of the widget.
orientTo stack child widgets side by side, use orient=tk.HORIZONTAL. To stack them top to bottom, use orient=tk.VERTICAL. The default option is tk.VERTICAL.
styleThe style to be used in rendering this widget; see Section 49, “Using and customizing ttk styles”.
takefocusBy default, a ttk.PanedWindow will not be included in focus traversal; see Section 53, “Focus: routing keyboard input”. To add the widget to focus traversal, use takefocus=True.
widthThe width dimension of the widget.

These options of the Tkinter.PanedWindow widget are not supported by the ttk.PanedWindow constructor:

Table 53. Tkinter PanedWindow options not in ttk.PanedWindow

background or bgConfigure the background option using a style. The bg abbreviation is not supported.
borderwidth or bdNot supported.
cursorThe cursor that will appear when the mouse is over the widget; see Section 5.8, “Cursors”.
handlepadNot supported.
handlesizeNot supported.
opaqueresizeNot supported.
reliefNot supported.
sashreliefNot supported.
sashwidthNot supported.
showhandleNot supported.

参考:38. ttk.PanedWindow

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

MapReduce的Shuffle过程

Shuffle是指从 Map 产生输出开始,包括系统执行排序以及传送Map输出到Reduce作为输入的过程. Shuffle 阶段可以分为 Map 端的 Shuffle 阶段和 Reduce 端的 Shuffle 阶段. Shuffle 阶段的工作过程,如图所示: Map 端的 Shuffle 阶段 1&#xff09;每个输入分片会让一个 Map 任务…

Linux学习之路 -- 文件 -- 文件描述符

前面介绍了与文件相关的各种操作&#xff0c;其中的各个接口都离不开一个整数&#xff0c;那就是文件描述符&#xff0c;本文将介绍文件描述符的一些相关知识。 目录 <1>现象 <2>原理 文件fd的分配规则和利用规则实现重定向 <1>现象 我们可以先通过prin…

04_SpringCloud

文章目录 单体架构与微服务架构的介绍单体架构微服务架构 微服务的实现服务之间的调用服务注册中心Eureka 注册中心Eureka的自我保护机制Nacos注册中心 单体架构与微服务架构的介绍 单体架构 单体架构 所有的代码最终打包成一个文件(jar包)&#xff0c;整个系统的所有功能单元…

爆赞好文之java反序列化之CB超详细易懂分析

java反序列化之CB超详细易懂分析 CB1环境搭建前言分析PropertyUtilsBeanComparatorPriorityQueue CB2环境搭建前言exp CB1 环境搭建 pom.xml <dependencies><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils&l…

生成gitee公钥

1、打开设置 2、设置SSH公钥 3、生成公钥 4、复制终端输出的公钥&#xff0c;放到这里&#xff0c;标题随便取。 5、测试 ssh -T gitgitee.com 最后用这个测试

IT 项目管理介绍和资料汇总

IT项目管理到底是什么&#xff1f;是对组织承担的任何信息技术项目的成功监督。IT项目经理负责规划、预算、执行、领导、故障排除和维护这些项目。IT项目经理可能会做的事情包括&#xff1a; 1、硬件安装 2、软件、网站和应用程序开发 3、网络和云计算解决方案的升级和/或推出…

软考中级-软件设计师(八)算法设计与分析 考点最精简

一、算法设计与分析的基本概念 1.1算法 算法&#xff08;Algorithm&#xff09;是对特定问题求解步骤的一种描述&#xff0c;有5个重要特性&#xff1a; 有穷性&#xff1a;一个算法必须总是在执行又穷步骤后结束&#xff0c;且每一步都可在又穷时间内完成 确定性算法中每一…

KAN: Kolmogorov–Arnold Networks

KAN: Kolmogorov–Arnold Networks 论文链接&#xff1a;https://arxiv.org/abs/2404.19756 代码链接&#xff1a;https://github.com/KindXiaoming/pyKAN 项目链接&#xff1a;https://kindxiaoming.github.io/pyKAN/intro.html Abstract 受Kolmogorov-Arnold表示定理的启…

访问网络附加存储:nfs

文章目录 访问网络附加存储一、网络附加存储1.1、存储类型1.3、通过NFS挂载NAS1.4、NFS挂载过程服务端客户端 二、实验&#xff1a;搭建NFS服务端及挂载到nfs客户端服务端客户端测试命令合集服务端客户端 访问网络附加存储 一、网络附加存储 1.1、存储类型 DAS&#xff1a;Di…

mysql的数据结构及索引使用情形

先来说下数据的一般存储方式&#xff1a;内存(适合小数据量)、磁盘(大数据量)。 磁盘的运转方式&#xff1a;速度 旋转&#xff0c;磁盘页的概念&#xff1a;每一页大概16KB。 1、存储结构 哈希 是通过hash函数计算出一个hash值的&#xff0c;哈希的优点就是查找的时间复杂度…

图片编辑工具-Gimp

一、前言 GIMP&#xff08;GNU Image Manipulation Program&#xff09;是一款免费开源的图像编辑软件&#xff0c;具有功能强大和跨平台的特性。 GIMP作为一个图像编辑器&#xff0c;它提供了广泛的图像处理功能&#xff0c;包括但不限于照片修饰、图像合成以及创建艺术作品…

SpringMVC响应数据

三、SpringMVC响应数据 3.1 handler方法分析 理解handler方法的作用和组成&#xff1a; /*** TODO: 一个controller的方法是控制层的一个处理器,我们称为handler* TODO: handler需要使用RequestMapping/GetMapping系列,声明路径,在HandlerMapping中注册,供DS查找!* TODO: ha…

【notepad++】使用

1 notepad 下载路径 https://notepad-plus.en.softonic.com/download 2 设置护眼模式 . 设置——语言格式设置——前景色——黑色 . 背景色——RGB &#xff1a;199 237 204 . 勾选“使用全局背景色”、“使用全局前景色” . 保存并关闭

Python专题:二、Python小游戏,体验Python的魅力

希望先通过一个小的游戏让大家先对Python感兴趣&#xff0c;兴趣是最好的老师。 小游戏的运行结果&#xff1a; 1、在sublime编辑器里面写如下代码&#xff1a; import randomnum random.randint(1, 100) # 获得一个随机数 is_done False # 是否猜中的标记 count 0 # 玩…

软件设计师-应用技术-数据结构及算法题4

考题形式&#xff1a; 第一题&#xff1a;代码填空 4-5空 8-10第二题&#xff1a;时间复杂度 / 代码策略第三题&#xff1a;拓展&#xff0c;跟一组数据&#xff0c;把数据带入代码中&#xff0c;求解 基础知识及技巧&#xff1a; 1. 分治法&#xff1a; 基础知识&#xff1…

美易官方:英伟达业绩将难以撑起股价?

美股市场似乎总是对各大公司的业绩表现抱有极大的期待&#xff0c;就像一个永远填不饱的“巨胃”。在这样的市场环境下&#xff0c;即使是业绩骄人的公司也可能难以支撑其股价。英伟达&#xff0c;这家在图形处理单元&#xff08;GPU&#xff09;领域享有盛誉的公司&#xff0c…

语音识别--kNN语音指令识别

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

英语学习笔记5——Nice to meet you.

Nice to meet you. 很高兴见到你。 词汇 Vocabulary Mr. 先生 用法&#xff1a;自己全名 / 姓 例如&#xff1a;Mr. Zhang Mingdong 或 Mr. Zhang&#xff0c;绝对不能是 Mr. Mingdong&#xff01; Miss 女士&#xff0c;小姐 未婚 用法&#xff1a;自己全名 / 姓 例如&#…

ESP32 IDF linux下开发环境搭建

文章目录 介绍升级Python环境下载Python包配置编译环境及安装Python设置环境变量 ESPIDF环境搭建下载esp-idf 代码编译等待下载烧录成功查看串口打印 介绍 esp32 官方文档给的不是特别详细 参考多方资料 最后才完成开发 主要问题在于github下载的很慢本教程适用于ubuntu deban…

跨境支付行业研究

1. 行业基本情况 随着全球人均购买力增强、互联网普及率提升、支付渠道的进一步成熟、物流等配套设施的完善&#xff0c;网络购物已经成为全球兴起的消费习惯。另一方面&#xff0c;跨境电商对传统贸易的替代已经成为趋势。跨境电商在交易成本和便利程度上都有明显的优势 图1 …