Поиск…


замечания

Tkinter (« Tk Inter face») представляет собой стандартный кросс-платформенный пакет python для создания графических пользовательских интерфейсов (GUI). Он обеспечивает доступ к базовому интерпретатору Tcl с помощью инструментария Tk, который сам является межплатформенной многоязычной графической библиотекой пользовательского интерфейса.

Tkinter - не единственная библиотека графического интерфейса для python, но она входит в стандартную комплектацию. Дополнительные библиотеки GUI, которые можно использовать с python, включают wxPython , PyQt и kivy .

Величайшая сила Ткинтера - его вездесущность и простота. Он работает из коробки на большинстве платформ (linux, OSX, Windows) и поставляется с широким спектром виджетов, необходимых для большинства распространенных задач (кнопок, меток, холста для рисования, многострочного текста и т. Д.).

В качестве обучающего инструмента tkinter обладает некоторыми функциями, которые уникальны среди наборов графических интерфейсов, таких как именованные шрифты, теги привязки и трассировка переменных.

Различия между python 2 и 3

Tkinter практически не изменился между python 2 и python 3, причем основное отличие заключалось в том, что пакет tkinter и модули были переименованы.

Импорт в python 2.x

В python 2.x пакет tkinter называется Tkinter , а связанные пакеты имеют свои собственные имена. Например, следующий пример показывает типичный набор операторов импорта для python 2.x:

import Tkinter as tk
import tkFileDialog as filedialog
import ttk

Импорт в python 3.x

Хотя функциональность не сильно изменилась между python 2 и 3, имена всех модулей tkinter изменились. Ниже приведен типичный набор операторов импорта для python 3.x:

import tkinter as tk
from tkinter import filedialog
from tkinter import ttk

Дальнейшее чтение

Версии

Tcl

Версия Дата выхода
8,6 2016-07-27
8,5 2016-02-12
8,4 2013-06-01
8,3 2002-10-18
8,2 1999-12-16
8,1 1999-05-26
8,0 1999-03-09

питон

Версия Дата выхода
3,6 2016-12-23
3,5 2015-09-13
3,4 2014-03-17
3,3 2012-09-29
3,2 2011-02-20
3,1 2009-06-26
3.0 2008-12-03
2,7 2010-07-03
2,6 2008-10-02
2.5 2006-09-19
2,4 2004-11-30
2,3 2003-07-29
2,2 2001-12-21
2,1 2001-04-15
2,0 2000-10-16

Установка или настройка

Tkinter поставляется с предустановленными двоичными файлами установщика Python для Mac OS X и платформы Windows. Поэтому, если вы устанавливаете Python из официальных двоичных файлов для платформы Mac OS X или Windows, вы можете пойти с Tkinter.

Для версий Linux Debian вы должны установить его вручную, используя следующие команды.

Для Python 3

sudo apt-get install python3-tk

Для Python 2.7

sudo apt-get install python-tk

Linux-дистрибутивы с установкой yum могут установить модуль tkinter с помощью команды:

yum install tkinter

Проверка установки

Чтобы проверить, успешно ли вы установили Tkinter, откройте консоль Python и введите следующую команду:

import tkinter as tk # for Python 3 version

или же

import Tkinter as tk # for Python 2.x version

Вы успешно установили Tkinter, если приведенная выше команда выполняется без ошибок.

Чтобы проверить версию Tkinter, введите следующие команды в Python REPL:

Для python 3.X

import tkinter as tk
tk._test()

Для python 2.X

import Tkinter as tk
tk._test()

Примечание. Импорт Tkinter as tk не требуется, но является хорошей практикой, поскольку он помогает поддерживать совместимость между версией.

Привет, мир! (Минимальный)

Давайте проверим наши базовые знания о tkinter, создав классический «Hello, World!». программа.

Во-первых, мы должны импортировать tkinter, это будет зависеть от версии (см. Раздел замечаний «Различия между Python 2 и 3»)

В Python 3 модуль tkinter имеет строчную букву t:

import tkinter as tk

В Python 2 модуль Tkinter имеет прописную букву T:

import Tkinter as tk 

Использование as tk не является строго необходимым, но мы будем использовать его, поэтому остальная часть этого примера будет работать одинаково для обеих версий.

теперь, когда мы импортируем модуль tkinter, мы можем создать корень нашего приложения, используя класс Tk :

root = tk.Tk()

Это будет действовать как окно для нашего приложения. (обратите внимание, что дополнительные окна должны быть экземплярами Toplevel )

Теперь, когда у нас есть окно, давайте добавим к нему текст с помощью Label

label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window

После того, как приложение будет готово, мы можем запустить его (введите основной цикл событий) с mainloop метода mainloop

root.mainloop()

Это откроет и запустит приложение до тех пор, пока оно не будет остановлено закрывающимся окном или вызовом выхода из функций обратного вызова (см. root.destroy() ), таких как root.destroy() .

Объединяя все это:

import tkinter as tk # Python 3.x Version
#import Tkinter as tk # Python 2.x Version

root = tk.Tk()

label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window

root.mainloop()

И что-то вроде этого должно появиться:

окно tkinter

Привет, мир! (модульная, объектно-ориентированная)

import tkinter as tk

class HelloWorld(tk.Frame):
    def __init__(self, parent):
        super(HelloWorld, self).__init__(parent)

        self.label = tk.Label(self, text="Hello, World!")
        self.label.pack(padx=20, pady=20)
        
if __name__ == "__main__":
    root = tk.Tk()

    main = HelloWorld(root)
    main.pack(fill="both", expand=True)

    root.mainloop()

Примечание. Наследование можно получить только из любого виджета tkinter, включая корневое окно. Наследование от tkinter.Frame является, по крайней мере, самым гибким в том, что он поддерживает несколько интерфейсов документов (MDI), tkinter.Frame интерфейсы (SDI), одностраничные приложения и многостраничные приложения.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow