# Graphical user interfaces with Tk

Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the `tkinter` package, and its extension, the `tkinter.ttk` module.

`tkinter` paketi Tcl/Tk üzerinde ince bir nesne yönelimli katmandır. `tkinter` kullanmak için Tcl kodu yazmanıza gerek yoktur, ancak Tk belgelerine ve bazen de Tcl belgelerine başvurmanız gerekecektir. `tkinter`, Tk widget’larını Python sınıfları olarak uygulayan bir dizi sarmalayıcıdır.

`tkinter`’ın başlıca özellikleri hızlı olması ve genellikle Python ile birlikte gelmesidir. Standart dokümantasyonu zayıf olmasına rağmen, referanslar, öğreticiler, bir kitap ve diğer öğeleri içeren iyi bir materyal mevcuttur. Ayrıca `tkinter` modası geçmiş ve eski bir görünüme sahip olmasına rağmen, Tk 8.5’te bu durum büyük ölçüde geliştirilmiştir. Bununla birlikte, ilginizi çekebilecek başka birçok GUI kütüphanesi vardır. Python wiki, birkaç alternatif GUI geliştirme çerçevesi ve aracını sizler için listeler.

- `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