Найти в Дзене
programmer's notes (python and more)

Программирование на языке Python. Библиотека tkinter, начало. Окно (Tk)

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Приложения на основе библиотеки PyQt на Python | programmer's notes (python and more) | Дзен

Библиотека tkinter, простое окно

tkinter простая библиотека для создания оконных приложений на Python, считающаяся родной для Python. Сегодня начнём ею заниматься. Отличия от монстра PyQt5, конечно, существенные, но скорее в сторону упрощения.

Есть разные варианты установки tkitner в вашу систему, они описаны в Интернет. Например для Alt-Linux работает это

apt-get  install python3-modules-tkinter

В интернет также предлагается вариант

apt-get install python3-tk

и другие.

С помощью pip на linux

pip3 install tk

или на Windows

pip install tk

Тут каждый должен поэкспериментировать.

Подключается библиотека обычным способом

import tkinter

принято также

import tkinter as tk

с использованием псевдонима tk.

Замечание
Следует отметить, что в библиотеке tkinter есть дополнительный пакет
ttk. Этот пакет содержит в общем-то те же классы, что и tkinter. Но ttk позволяет более стилизованно настраивать внешний вид элементов (виджетов). В статьях данного раздела я пока не буду использовать ttk. Но одну из последующих статей я посвящу некоторым сравнениям этих библиотек.

Простейшее окно можно создать просто так

#!/usr/bin/python3
import tkinter as tk
wn = tk.Tk()
wn.mainloop()

И всё (см. Рисунок 1).

Рисунок 1. Простейшее окно от tkinter
Рисунок 1. Простейшее окно от tkinter

Или не много разовьём предыдущую программу (см. рисунок 2)

#!/usr/bin/python3
import tkinter as tk
wn = tk.Tk()
wn.geometry("450x450+300+300")
wn.title("Наше первое окно")
wn.mainloop()

Рисунок 2. Еще одно tkinter-окно
Рисунок 2. Еще одно tkinter-окно

Хотя в тексте программы всё довольно понятно, сделаем ряд пояснений:

  • tk.Tk() — создание создание объекта окна.
  • tk.title() — заголовок окна.
  • tk.geometry() — размеры и положение окна.
  • tk.mainloop() — ожидание событий в окне. В частности стандартный кнопка в правом верхнем углу окно закрывает, ну как обычно.
  • Наконец, вот эта странная на первый взгляд запись "450x450+300+300". Догадаться то не трудно, но можно подтивиться оригинальностью подхода. В начале идёт ширина и высота окна (450x450), а потом координаты левого верхнего угла окна.

Пока всё! Продолжение следует...

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

Всюду окна,  окна,  окна, всюду окна, господа, а без окон жизнь плохая, а без окон никуда... (c)
Всюду окна, окна, окна, всюду окна, господа, а без окон жизнь плохая, а без окон никуда... (c)