# Γραφικές επαφές χρηστών με το Tk

Το Tk/Tcl αποτελεί από καιρό αναπόσπαστο μέρος της Python. Παρέχει ένα ισχυρό και ανεξάρτητο πλατφόρμας εργαλείο παραθύρων, το οποίο είναι διαθέσιμο στους προγραμματιστές της Python που χρησιμοποιούν το πακέτο `tkinter` και την επέκτασή του, το `tkinter.ttk` module.

Το πακέτο `tkinter` είναι ένα λεπτό αντικειμενοστραφές στρώμα πάνω από το Tcl/Tk.Για να χρησιμοποιήσετε το `tkinter`, δεν χρειάζεται να γράψετε κώδικα Tcl, αλλά θα χρειαστεί να συμβουλευτείτε την τεκμηρίωση του Tcl. Το `tkinter` είναι ένα σύνολο περιβλημάτων που υλοποιούν τα widget του Tk ως κλάσεις Python.

Το `tkinter` έχει ως κύρια πλεονεκτήματα το γεγονός ότι είναι γρήγορο και ότι συνήθως συνοδεύει την Python. Αν και η τυπική τεκμηρίωσή του είναι ανεπαρκής, υπάρχει καλό υλικό διαθέσιμο, το οποίο περιλαμβάνει: αναφορές, σεμινάρια, ένα βιβλίο και άλλα. Το `tkinter` είναι επίσης γνωστό για την ξεπερασμένη του εμφάνιση και αίσθηση, η οποία έχει βελτιωθεί σημαντικά στο Tk 8.5. Παρ” όλα αυτά, υπάρχουν πολλές άλλες βιβλιοθήκες GUI που μπορεί να σας ενδιαφέρουν. Το Python wiki παραθέτει διάφορα εναλλακτικά GUI frameworks and tools.

- `tkinter` — Python interface to Tcl/Tk
  - Architecture
  - Tkinter Modules
  - Tkinter Life Preserver
    - A Hello World Program
    - Important Tk Concepts
    - Understanding How Tkinter Wraps Tcl/Tk
    - How do I…? What option does…?
    - Navigating the Tcl/Tk Reference Manual
  - Threading model
  - Handy Reference
    - Setting Options
    - The Packer
    - Packer Options
    - Coupling Widget Variables
    - The Window Manager
    - Tk Option Data Types
    - Bindings and Events
    - The index Parameter
    - Images
  - File Handlers
- `tkinter.colorchooser` — Color choosing dialog
- `tkinter.font` — Tkinter font wrapper
- Tkinter Dialogs
  - `tkinter.simpledialog` — Standard Tkinter input dialogs
  - `tkinter.filedialog` — File selection dialogs
    - Native Load/Save Dialogs
  - `tkinter.commondialog` — Dialog window templates
- `tkinter.messagebox` — Tkinter message prompts
- `tkinter.scrolledtext` — Scrolled Text Widget
- `tkinter.dnd` — Drag and drop support
- `tkinter.ttk` — Tk themed widgets
  - Using Ttk
  - Ttk Widgets
  - Widget
    - Standard Options
    - Scrollable Widget Options
    - Label Options
    - Compatibility Options
    - Widget States
    - ttk.Widget
  - Combobox
    - Options
    - Virtual events
    - ttk.Combobox
  - Spinbox
    - Options
    - Virtual events
    - ttk.Spinbox
  - Notebook
    - Options
    - Tab Options
    - Tab Identifiers
    - Virtual Events
    - ttk.Notebook
  - Progressbar
    - Options
    - ttk.Progressbar
  - Separator
    - Options
  - Sizegrip
    - Platform-specific notes
    - Bugs
  - Treeview
    - Options
    - Item Options
    - Tag Options
    - Column Identifiers
    - Virtual Events
    - ttk.Treeview
  - Ttk Styling
    - Layouts
- IDLE — Python editor and shell
  - Menus
    - File menu (Shell and Editor)
    - Edit menu (Shell and Editor)
    - Format menu (Editor window only)
    - Run menu (Editor window only)
    - Shell menu (Shell window only)
    - Debug menu (Shell window only)
    - Options menu (Shell and Editor)
    - Window menu (Shell and Editor)
    - Help menu (Shell and Editor)
    - Context menus
  - Editing and Navigation
    - Editor windows
    - Key bindings
    - Automatic indentation
    - Search and Replace
    - Completions
    - Calltips
    - Format block
    - Code Context
    - Shell window
    - Text colors
  - Startup and Code Execution
    - Command-line usage
    - Startup failure
    - Running user code
    - User output in Shell
    - Developing tkinter applications
    - Running without a subprocess
  - Help and Preferences
    - Help sources
    - Setting preferences
    - IDLE on macOS
    - Extensions
  - idlelib — implementation of IDLE application
- `turtle` — Turtle graphics
  - Introduction
  - Get started
  - Tutorial
    - Starting a turtle environment
    - Basic drawing
      - Pen control
      - The turtle’s position
    - Making algorithmic patterns
  - How to…
    - Get started as quickly as possible
    - Automatically begin and end filling
    - Use the `turtle` module namespace
    - Use turtle graphics in a script
    - Use object-oriented turtle graphics
  - Turtle graphics reference
    - Turtle methods
    - Methods of TurtleScreen/Screen
  - Methods of RawTurtle/Turtle and corresponding functions
    - Turtle motion
    - Tell Turtle’s state
    - Settings for measurement
    - Pen control
      - Drawing state
      - Color control
      - Filling
      - More drawing control
    - Turtle state
      - Visibility
      - Appearance
    - Using events
    - Special Turtle methods
    - Compound shapes
  - Methods of TurtleScreen/Screen and corresponding functions
    - Window control
    - Animation control
    - Using screen events
    - Input methods
    - Settings and special methods
    - Methods specific to Screen, not inherited from TurtleScreen
  - Public classes
  - Explanation
  - Help and configuration
    - How to use help
    - Translation of docstrings into different languages
    - How to configure Screen and Turtles
  - `turtledemo` — Demo scripts
  - Changes since Python 2.6
  - Changes since Python 3.0