�
�f� � �@ � d Z ddlZddlZddlZddlZddlZej ZddlT ddlZdZ e
ej � � Z e
ej
� � Zej Zej Zej Z ej d� � Z ej dej � � Zd� Zd� Zd � Zej Zn# e$ r Y nw xY wd
� Zej Zn# e$ r Y nw xY wdrd�Z G d
� d ej dd� � � � Zd� Z ej ej � � G d� d� � � � Z! G d� d� � Z"da#da$d� Z%dsd�Z&d� Z'd� Z(d� Z)dtd�Z*da+ G d� d� � Z, G d� de,� � Z- G d� d e,� � Z. G d!� d"e,� � Z/ G d#� d$e,� � Z0dtd%�Z1e2Z3e
Z4d&� Z5 G d'� d(� � Z6 G d)� d*� � Z7 G d+� d,� � Z8 G d-� d.� � Z9 G d/� d0� � Z: G d1� d2e6e:� � Z;dud4�Z< G d5� d6� � Z= G d7� d8� � Z> G d9� d:� � Z? G d;� d<e6� � Z@ G d=� d>e@e=e>e?� � ZA G d?� d@e@e:� � ZB G dA� dBeA� � ZC G dC� dDeAe8e9� � ZDdaE G dE� dFeA� � ZF G dG� dHeAe8� � ZG G dI� dJeA� � ZH G dK� dLeA� � ZI G dM� dNeAe8e9� � ZJ G dO� dPeA� � ZK G dQ� dReA� � ZL G dS� dTeA� � ZM G dU� dVeA� � ZN G dW� dXeA� � ZO G dY� dZeA� � ZP G d[� d\eAe8e9� � ZQ G d]� d^� � ZR G d_� d`eL� � ZS G da� db� � ZT G dc� ddeT� � ZU G de� dfeT� � ZVdg� ZWdh� ZX G di� djeAe8� � ZY G dk� dleA� � ZZ G dm� dneA� � Z[do� Z\dp� e]� � �^ � � D � � Z_e`dqk r e\� � dS dS )va8 Wrapper functions for Tcl/Tk.
Tkinter provides classes which allow the display, positioning and
control of widgets. Toplevel widgets are Tk and Toplevel. Other
widgets are Frame, Label, Entry, Text, Canvas, Button, Radiobutton,
Checkbutton, Scale, Listbox, Scrollbar, OptionMenu, Spinbox
LabelFrame and PanedWindow.
Properties of the widgets are specified with keyword arguments.
Keyword arguments have the same name as the corresponding resource
under Tk.
Widgets are positioned with one of the geometry managers Place, Pack
or Grid. These managers can be called with methods place, pack, grid
available in every Widget.
Actions are bound to events by resources (e.g. keyword argument
command) or with the method bind.
Example (Hello, World):
import tkinter
from tkinter.constants import *
tk = tkinter.Tk()
frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
frame.pack(fill=BOTH,expand=1)
label = tkinter.Label(frame, text="Hello, World")
label.pack(fill=X, expand=1)
button = tkinter.Button(frame,text="Exit",command=tk.destroy)
button.pack(side=BOTTOM)
tk.mainloop()
� N)�*� z([\\{}])z([\s])c �R � d� t t | � � � � S )�Internal function.� )�join�map�
_stringify��values �)/usr/lib64/python3.11/tkinter/__init__.py�_joinr 9 s � ��8�8�C�
�E�*�*�+�+�+� c �b � t | t t f� � r[t | � � dk r5t | d � � } t
� | � � rd| z } n�dt | � � z } n�t | � � } | sd} n�t
� | � � r^t
� d| � � } | �
dd� � } t � d| � � } | d dk rd | z } n+| d dk st � | � � rd| z } | S )
r r r z{%s}z{}z\\\1�
z\n�"�\)�
isinstance�list�tuple�lenr
� _magic_re�searchr �str�sub�replace� _space_rer s r
r
r
>