赞
踩
Meter是计量表控件,在大数据统计类的界面设计中使用较多,本文将介绍ttk中的Meter控件
print(help(ttk.Meter))
- Help on class Meter in module ttkbootstrap.widgets:
-
- class Meter(tkinter.ttk.Frame)
- | Meter(master=None, bootstyle='default', arcrange=None, arcoffset=None, amounttotal=100, amountused=0, wedgesize=0, metersize=200, metertype='full', meterthickness=10, showtext=True, interactive=False, stripethickness=0, textleft=None, textright=None, textfont='-size 20 -weight bold', subtext=None, subtextstyle='default', subtextfont='-size 10', stepsize=1, **kwargs)
- |
- | A radial meter that can be used to show progress of long
- | running operations or the amount of work completed; can also be
- | used as a dial when set to `interactive=True`.
- |
- | This widget is very flexible. There are two primary meter types
- | which can be set with the `metertype` parameter: 'full' and
- | 'semi', which shows the arc of the meter in a full or
- | semi-circle. You can also customize the arc of the circle with
- | the `arcrange` and `arcoffset` parameters.
- |
- | The meter indicator can be displayed as a solid color or with
- | stripes using the `stripethickness` parameter. By default, the
- | `stripethickness` is 0, which results in a solid meter
- | indicator. A higher `stripethickness` results in larger wedges
- | around the arc of the meter.
- |
- | Various text and label options exist. The center text and
- | meter indicator is formatted with the `meterstyle` parameter.
- | You can set text on the left and right of this center label
- | using the `textleft` and `textright` parameters. This is most
- | commonly used for '$', '%', or other such symbols.
- |
- | If you need access to the variables that update the meter, you
- | you can access these via the `amountusedvar`, `amounttotalvar`,
- | and the `labelvar`. The value of these properties can also be
- | retrieved via the `configure` method.
- |
- | 
- |
- | Examples:
- |
- | ```python
- | import ttkbootstrap as ttk
- | from ttkbootstrap.constants import *
- |
- | app = ttk.Window()
- |
- | meter = ttk.Meter(
- | metersize=180,
- | padding=5,
- | amountused=25,
- | metertype="semi",
- | subtext="miles per hour",
- | interactive=True,
- | )
- | meter.pack()
- |
- | # update the amount used directly
- | meter.configure(amountused = 50)
- |
- | # update the amount used with another widget
- | entry = ttk.Entry(textvariable=meter.amountusedvar)
- | entry.pack(fill=X)
- |
- | # increment the amount by 10 steps
- | meter.step(10)
- |
- | # decrement the amount by 15 steps
- | meter.step(-15)
- |
- | # update the subtext
- | meter.configure(subtext="loading...")
- |
- | app.mainloop()
- | ```
- |
- | Method resolution order:
- | Meter
- | tkinter.ttk.Frame
- | tkinter.ttk.Widget
- | tkinter.Widget
- | tkinter.BaseWidget
- | tkinter.Misc
- | tkinter.Pack
- | tkinter.Place
- | tkinter.Grid
- | builtins.object
- |
- | Methods defined here:
- |
- | __getitem__(self, key: str)
- | Return the resource value for a KEY given as string.
- |
- | __init__(self, master=None, bootstyle='default', arcrange=None, arcoffset=None, amounttotal=100, amountused=0, wedgesize=0, metersize=200, metertype='full', meterthickness=10, showtext=True, interactive=False, stripethickness=0, textleft=None, textright=None, textfont='-size 20 -weight bold', subtext=None, subtextstyle='default', subtextfont='-size 10', stepsize=1, **kwargs)
- | Parameters:
- |
- | master (Widget):
- | The parent widget.
- |
- | arcrange (int):
- | The range of the arc if degrees from start to end.
- |
- | arcoffset (int):
- | The amount to offset the arc's starting position in degrees.
- | 0 is at 3 o'clock.
- |
- | amounttotal (int):
- | The maximum value of the meter.
- |
- | amountused (int):
- | The current value of the meter; displayed in a center label
- | if the `showtext` property is set to True.
- |
- | wedgesize (int):
- | Sets the length of the indicator wedge around the arc. If
- | greater than 0, this wedge is set as an indicator centered
- | on the current meter value.
- |
- | metersize (int):
- | The meter is square. This represents the size of one side
- | if the square as measured in screen units.
- |
- | bootstyle (str):
- | Sets the indicator and center text color. One of primary,
- | secondary, success, info, warning, danger, light, dark.
- |
- | metertype ('full', 'semi'):
- | Displays the meter as a full circle or semi-circle.
- |
- | meterthickness (int):
- | The thickness of the indicator.
- |
- | showtext (bool):
- | Indicates whether to show the left, center, and right text
- | labels on the meter.
- |
- | interactive (bool):
- | Indicates that the user may adjust the meter value with
- | mouse interaction.
- |
- | stripethickness (int):
- | The indicator can be displayed as a solid band or as
- | striped wedges around the arc. If the value is greater than
- | 0, the indicator changes from a solid to striped, where the
- | value is the thickness of the stripes (or wedges).
- |
- | textleft (str):
- | A short string inserted to the left of the center text.
- |
- | textright (str):
- | A short string inserted to the right of the center text.
- |
- | textfont (Union[str, Font]):
- | The font used to render the center text.
- |
- | subtext (str):
- | Supplemental text that appears below the center text.
- |
- | subtextstyle (str):
- | The bootstyle color of the subtext. One of primary,
- | secondary, success, info, warning, danger, light, dark.
- | The default color is Theme specific and is a lighter
- | shade based on whether it is a 'light' or 'dark' theme.
- |
- | subtextfont (Union[str, Font]):
- | The font used to render the subtext.
- |
- | stepsize (int):
- | Sets the amount by which to change the meter indicator
- | when incremented by mouse interaction.
- |
- | **kwargs:
- | Other keyword arguments that are passed directly to the
- | `Frame` widget that contains the meter components.
- |
- | __setitem__(self, key: str, value) -> None
- |
- | configure(self, cnf=None, **kwargs)
- | Configure the options for this widget.
- |
- | Parameters:
- | cnf (Dict[str, Any], optional):
- | A dictionary of configuration options.
- |
- | **kwargs: Optional keyword arguments.
- |
- | step(self, delta=1)
- | Increase the indicator value by `delta`
- |
- | The indicator will reverse direction and count down once it
- | reaches the maximum value.
- |
- | Parameters:
- |
- | delta (int):
- | The amount to change the indicator.
- |
- | ----------------------------------------------------------------------
- | Methods inherited from tkinter.ttk.Frame:
- |
- | config = configure(self, cnf=None, **kwargs)
- |
- | ----------------------------------------------------------------------
- | Methods inherited from tkinter.ttk.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:
- |
- | __repr__(self)
- | Return repr(self).
- |
- | __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:
- |
- | 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 588ms]
通过dir来查看Meter支持的属性和方法
['_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', '_configure_get', '_configure_set', '_displayof', '_do', '_draw_base_image', '_draw_meter', '_draw_solid_meter', '_draw_striped_meter', '_getboolean', '_getconfigure', '_getconfigure1', '_getdoubles', '_getints', '_grid_configure', '_gridconvvalue', '_last_child_ids', '_lookup_style_option', '_meter_value', '_nametowidget', '_noarg_', '_on_dial_interact', '_on_theme_change', '_options', '_register', '_report_exception', '_root', '_set_arc_offset_range', '_set_interactive_bind', '_set_meter_text', '_set_show_text', '_set_subtext', '_set_text_center', '_set_text_left', '_set_text_right', '_set_widget_colors', '_setup', '_setup_widget', '_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', 'step', '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 455ms]
首先我们通过官方的一个例子来看Meter如何创建的
- import ttkbootstrap as ttk
- from ttkbootstrap.constants import *
-
- app = ttk.Window()
-
- meter = ttk.Meter(
- metersize=180,
- padding=5,
- amountused=25,
- metertype="semi",
- subtext="miles per hour",
- interactive=True,
- )
- meter.pack()
-
- # update the amount used directly
- meter.configure(amountused = 50)
-
- # update the amount used with another widget
- entry = ttk.Entry(textvariable=meter.amountusedvar)
- entry.pack(fill=X)
-
- # increment the amount by 10 steps
- meter.step(10)
-
- # decrement the amount by 15 steps
- meter.step(-15)
-
- # update the subtext
- meter.configure(subtext="loading...")
-
- app.mainloop()
以下是Meter接口的选项
__init__(self, master=None, bootstyle='default', arcrange=None, arcoffset=None, amounttotal=100, amountused=0, wedgesize=0, metersize=200, metertype='full', meterthickness=10, showtext=True, interactive=False, stripethickness=0, textleft=None, textright=None, textfont='-size 20 -weight bold', subtext=None, subtextstyle='default', subtextfont='-size 10', stepsize=1, **kwargs)
与官方的文档现在已经有些出入了,里面的一些字段也变更了
选项 | 解释说明 |
master (Widget) | 父窗口 |
arcrange (int) | 从起点到终点的弧度范围。 |
arcoffset (int) | 偏移圆弧起始位置的量(以度为单位)。0位于3点钟方向。 |
amounttotal (int) | 仪表的最大值 |
amountused (int) | 仪表的当前值;如果“showtext”属性设置为True,则显示在中心标签中。 |
wedgesize (int) | 设置圆弧周围指示器楔块的长度。如果大于0,则此楔块将设置为以当前仪表值为中心的指示器。 |
metersize (int) | Meter控件的大小 |
bootstyle (str) | 设置Meter的样式,选项:primary,secondary, success, info, warning, danger, light, dark. |
metertype ('full', 'semi') | 将仪表显示为圆形或半圆。 |
meterthickness (int) | 指示器的厚度。 |
showtext (bool) | 指示是否在仪表上显示左侧、中间和右侧的文本标签。 |
interactive (bool) | 表示用户可以通过鼠标交互调整仪表值。 |
stripethickness (int) | 指示器可以显示为实心带,也可以显示为圆弧周围的条纹楔。如果该值大于0,指示器将从实心变为条纹,其中该值为条纹(或楔)的厚度。 |
textleft (str) | 插入到中心文本左侧的短字符串。 |
textright (str) | 插入到中心文本右侧的短字符串。 |
textfont (Union[str, Font]) | 用于呈现中心文本的字体。 |
subtext (str) | 显示在中心文本下方的补充文本。 |
subtextstyle (str) | 设置subtext文本样式 |
subtextfont (Union[str, Font]) | 设置subtext文本字体 |
stepsize (int) | 设置通过鼠标交互递增时更改仪表指示器的量。 |
下面再通过两个例子来展示如上选项的使用
- from ttkbootstrap import Style
- from ttkbootstrap.widgets import Meter
-
- style = Style('cosmo')
- root = style.master
- root.title('ttkbootstrap')
-
- print(help(Meter))
-
- m1 = Meter(metersize=180, padding=20, amountused=25, metertype='semi', subtext='miles per hour', interactive=True)
- m1.grid(row=0, column=0)
-
- m2 = Meter(metersize=180, padding=20, amountused=1800, amounttotal=2600, subtext='storage used', textright='gb',
- bootstyle='info.TMeter', stripethickness=10, interactive=True)
- m2.grid(row=0, column=1)
-
- m3 = Meter(metersize=180, padding=20, stripethickness=2, amountused=40, subtext='project capacity', textright='%',
- bootstyle='success.TMeter', interactive=True)
- m3.grid(row=1, column=0)
-
- m4 = Meter(metersize=180, padding=20, amounttotal=280, arcrange=180, arcoffset=-180, amountused=75, textright='°',
- subtext='heat temperature', wedgesize=5, bootstyle='danger.TMeter', interactive=True)
- m4.grid(row=1, column=1)
-
- root.mainloop()
下面一个利用Meter来动态展示获取网卡io统计信息,也可以理解为网速的例子
- import psutil,time,threading
- import ttkbootstrap as ttk
- from ttkbootstrap.constants import *
- root = ttk.Window()
- ttk.Meter(
- master=root,
- bootstyle=DEFAULT,
- metertype="full",#将仪表显示为一个完整的圆形或半圆形(semi)
- wedgesize=5, #设置弧周围的指示器楔形长度,如果大于 0,则此楔形设置为以当前仪表值为中心的指示器
- amounttotal=50, #仪表的最大值,默认100
- amountused=10, #仪表的当前值
- metersize=200,#仪表大小
- showtext=True, #指示是否在仪表上显示左、中、右文本标签
- interactive=True, #是否可以手动调节数字的大小
- textleft='左边', #插入到中心文本左侧的短字符串
- textright='右边',
- textfont="-size 30", #中间数字大小
- subtext="文本",
- subtextstyle=DEFAULT,
- subtextfont="-size 20",#文本大小
- ).pack(side=ttk.LEFT, padx=5)
- def _():
- meter = ttk.Meter(
- metersize=180,
- padding=50,
- amountused=0,
- metertype="semi",
- subtext="当前网速(kB/s)",
- subtextstyle="warning",
- interactive=False,
- bootstyle='primary',
- )
- meter.pack(side=ttk.LEFT, padx=5)
- while True:
- meter.configure(amountused=round(getNet(),2))
- def getNet():
- recv_before = psutil.net_io_counters().bytes_recv
- time.sleep(1)
- recv_now = psutil.net_io_counters().bytes_recv
- recv = (recv_now - recv_before)/1024
- return recv
-
- t = threading.Thread(target=_)
- t.setDaemon(True)
- t.start()
- root.mainloop()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。