Tkinter python 3 примеры программ

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

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

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

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

TKINTER Python программа с gui интерфейсом 3

Различия между 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

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

  • Вопросы Tkinter по Stackoverflow
  • Официальная документация Pton 3 tkinter
  • Официальная документация Pton 2 tkinter
  • Tkdocs.com — многоплатформенная документация по tk
  • Введение Effbot в tkinter
  • Справочное руководство Tkinter, New Mexico Tech

Версии

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.

Читайте также:
Программа сила рода это

#Изи TKINTER за 5 минут

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

Для Python 3

Для Python 2.7

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

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

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

import tkinter as tk # for Python 3 version
import Tkinter as tk # for Python 2.x version

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

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

import tkinter as tk tk._test()
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), одностраничные приложения и многостраничные приложения.

Источник: learntutorials.net

Модуль tkinter. Урок №3 — Проект «Сложение двух чисел»

После запуска вы должны увидеть следующее окно приложения:

Согласитесь, выглядит не очень симпатично. Что поделать, метод размещения виджетов pack() в данном случае нам не подходит.

2. Метод размещения Grid

С помощью этого способа мы можем разместить виджеты по сетке, состоящей из столбцов и строк. Можно объединять столбцы и строки, указывать выравнивание элементов.

Если внимательно посмотреть рисунок в начале этого урока, то вы можете заметить, что окно нашего приложения состоит из 4 строк и 2 столбцов, причем некоторые ячейки объединены.

3. Перепишем нашу программу с использованием Grid:

from tkinter import * root = Tk() root.title(‘Произведение двух чисел’) # первая метка в строке 0, столбце 0 (0 по умолчанию) # парамет sticky означает выравнивание. W, E,N,S — запад, восток, север, юг Label(root, text=’Первое число’).grid(row=0, sticky=W) # вторая метка в строке 1 Label(root, text=’Второе число’).grid(row=1, sticky=W) # создаем виджеты текстовых полей EntryA = Entry(root, width=10, font=’Arial 16′) EntryB = Entry(root, width=10, font=’Arial 16′) EntryC = Entry(root, width=20, font=’Arial 16′) # размещаем первые два поля справа от меток, второй столбец (отсчет от нуля) EntryA.grid(row=0, column=1, sticky=E) EntryB.grid(row=1, column=1, sticky=E) # третье текстовое поле ввода занимает всю ширину строки 2 # columnspan — объединение ячеек по столбцам; rowspan — по строкам EntryC.grid(row=2, columnspan=2) # размещаем кнопку в строке 3 во втором столбце but = Button(root, text=’Произведение’) but.grid(row=3, column=1, sticky=E) root.mainloop()

После запуска мы увидим правильно оформленное окно:

Осталось написать функцию, вычисляющую произведение чисел и привязать к кнопке.

4. Напишем функцию обработчик нажатия кнопки:

Эту функцию необходимо разместить до создания кнопки.

def proizv(): a = EntryA.get() # берем текст из первого поля a = int(a) # преобразуем в число целого типа b = EntryB.get() b = int(b) result = str(a * b) # результат переведем в строку для дальнейшего вывода EntryC.delete(0, END) # очищаем текстовое поле полностью EntryC.insert(0, result) # вставляем результат в начало

5. Привяжем нажатие кнопки с функцией (добавьте команду для кнопки):

but = Button(root, text=’Произведение’, command=proizv)

Задание 1:

Добавьте кнопки вычисления суммы, разности и вычисления частного (деление).

Задание 2:

Напишите программу, складывающую целые числа в одной из компьютерных систем:

Подсказки:
1) функция int(строка,2) преобразует преобразует исходную строку, представляющую двоичное число в целое десятичное число.
Например, int(‘101’,2) (результат 5)
2) Для обратного преобразования десятичного числа можно использовать встроенные функции, результатом которых будет строка:
hex(18) (результат 0x12)
oct(25) (результат 0o31)
bin(17) (результат 0b10001)

Читайте также:
Какую астрологическую программу выбрать

Источник: rassyhaev.ru

Делаем колоритную игру с использованием Tkinter в Python

Делаем колоритную игру с использованием Tkinter в Python

TKinter широко используется для разработки приложений с графическим интерфейсом. Наряду с приложениями мы также можем использовать Tkinter GUI для разработки игр.

Давайте попробуем сделать игру с помощью Tkinter. В этой игре игрок должен ввести цвет слова, которое появляется на экране, и счет игры увеличивается на единицу, общее время игры составляет 30 секунд. В этой игре используются следующие цвета: красный, синий, зеленый, розовый, черный, желтый, оранжевый, белый, фиолетовый и коричневый. Интерфейс будет отображать названия разных цветов разными цветами. Игрок должен определить цвет и ввести правильное название цвета, чтобы выиграть игру.

Ниже приведена реализация вышеуказанной игры:

# import the modules import tkinter import random # list of possible colour. colours = [‘Red’,’Blue’,’Green’,’Pink’,’Black’, ‘Yellow’,’Orange’,’White’,’Purple’,’Brown’] score = 0 # the game time left, initially 30 seconds. timeleft = 30 # function that will start the game. def startGame(event): if timeleft == 30: # start the countdown timer. countdown() # run the function to # choose the next colour. nextColour() # Function to choose and # display the next colour. def nextColour(): # use the globally declared ‘score’ # and ‘play’ variables above. global score global timeleft # if a game is currently in play if timeleft > 0: # make the text entry box active. e.focus_set() # if the colour typed is equal # to the colour of the text if e.get().lower() == colours[1].lower(): score += 1 # clear the text entry box. e.delete(0, tkinter.END) random.shuffle(colours) # change the colour to type, by changing the # text _and_ the colour to a random colour value label.config(fg = str(colours[1]), text = str(colours[0])) # update the score. scoreLabel.config(text = «Score: » + str(score)) # Countdown timer function def countdown(): global timeleft # if a game is in play if timeleft > 0: # decrement the timer. timeleft -= 1 # update the time left label timeLabel.config(text = «Time left: » + str(timeleft)) # run the function again after 1 second. timeLabel.after(1000, countdown) # Driver Code # create a GUI window root = tkinter.Tk() # set the title root.title(«COLORGAME») # set the size root.geometry(«375×200») # add an instructions label instructions = tkinter.Label(root, text = «Type in the colour» «of the words, and not the word text!», font = (‘Helvetica’, 12)) instructions.pack() # add a score label scoreLabel = tkinter.Label(root, text = «Press enter to start», font = (‘Helvetica’, 12)) scoreLabel.pack() # add a time left label timeLabel = tkinter.Label(root, text = «Time left: » + str(timeleft), font = (‘Helvetica’, 12)) timeLabel.pack() # add a label for displaying the colours label = tkinter.Label(root, font = (‘Helvetica’, 60)) label.pack() # add a text entry box for # typing in colours e = tkinter.Entry(root) # run the ‘startGame’ function # when the enter key is pressed root.bind(», startGame) e.pack() # set focus on the entry box e.focus_set() # start the GUI root.mainloop()

Источник: uproger.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru