{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "76b30344",
   "metadata": {},
   "outputs": [],
   "source": [
    "from tkinter import *\n",
    "import tkinter as tk\n",
    "import tkinter as ttk\n",
    "#from PIL import Image, ImageTk\n",
    "\n",
    "#окно приложения\n",
    "main_screen = Tk()                               #Основной экран\n",
    "main_screen.state(\"zoomed\")                      #Вид (окнонный, в полный экран)\n",
    "main_screen.title(\"Prodject\")                    #Титул (название)\n",
    "\n",
    "#меняющееся окно(Frame)\n",
    "window = Frame(master=main_screen, bg= \"white\")  #Изменяющееся окно\n",
    "#window.pack()                                    Виды рамещения\n",
    "#window.place()\n",
    "\n",
    "#\"Виджеты\":\n",
    "#Кнопка:\n",
    "a = 0\n",
    "flag = 0\n",
    "step = 1\n",
    "count = 0\n",
    "exit = PhotoImage(file=\"exit.png\")\n",
    "\n",
    "def Counter():\n",
    "    #Увеличивает счёчик \n",
    "    global a, BTN, count;\n",
    "    a+=step\n",
    "    BTN.config(text = a)                         #Можно конфигурировать виджеты\n",
    "    count+=1\n",
    "    pass\n",
    "\n",
    "def on_off():\n",
    "    #Включает и выключает кнопку\n",
    "    global flag, ON_OFF, BTN;\n",
    "    if flag:\n",
    "        flag = not flag\n",
    "        ON_OFF.config(text = \"on\", bg=\"green\")\n",
    "        BTN.config(state=\"active\")\n",
    "    else:\n",
    "        flag = not flag\n",
    "        ON_OFF.config(text = \"off\",bg=\"red\")\n",
    "        BTN.config(state=\"disabled\", bg=\"darkgray\")\n",
    "    pass\n",
    "\n",
    "def accept():\n",
    "    #Изменить шаг\n",
    "    global step, error;\n",
    "    try:\n",
    "        step = int(counter.get())               #с помощью get() можно взять текст из строки ввода\n",
    "        error.config(text=\"\")\n",
    "    except:\n",
    "        error.config(text=\"Шаг может быть только\\nположительным числом\")\n",
    "        pass\n",
    "    \n",
    "def close_screen(event = True):\n",
    "    #Закрыть окно\n",
    "    main_screen.destroy()\n",
    "    pass\n",
    "\n",
    "def Main():\n",
    "    #Начальное окно\n",
    "    global window, a, BTN, error, counter, ON_OFF, exit;\n",
    "    window.destroy()\n",
    "    window = Frame(master=main_screen, bg= \"white\")\n",
    "    \n",
    "    #Кнопки\n",
    "    BTN = Button(window, text = a, command=Counter, bg=\"white\", font=(\"Arial Black\", 15)) \n",
    "    BTN.grid(column = 1, row = 0)\n",
    "    ON_OFF = Button(window, text = 'on', command = on_off, bg=\"green\", width = 2, font=(\"Arial Black\", 10))\n",
    "    ON_OFF.grid(column = 3, row = 3)\n",
    "    correct = Button(window, text=\"Применить\", command = accept, bg=\"white\", font=(\"Arial Black\", 10))\n",
    "    correct.grid(column=2, row=1)\n",
    "    btn = Button(window, text=\"Статистика\", command=Two_main, bg=\"white\", font=(\"Arial Black\", 10))\n",
    "    btn.grid(column=5, row=2)\n",
    "\n",
    "    #Текст:\n",
    "\n",
    "    text = Label(window, text=\"Кол-во: \", bg=\"white\", font=(\"Arial Black\", 15), justify=RIGHT)\n",
    "    text.grid(column = 0, row = 0, sticky=E)\n",
    "    text2 = Label(window, text=\"Шаг коунтера: \", bg=\"white\", font=(\"Arial Black\", 15), justify=RIGHT)\n",
    "    text2.grid(column = 0, row = 1, sticky=E)\n",
    "    text1 = Label(window, image=exit, compound=\"top\", text=\"exit\", font=(\"Arial Black\", 10), bg=\"white\")\n",
    "    text1.grid(column=3, row=0)\n",
    "    text1.bind(\"<1>\", close_screen)               #Можно сделать кнопку из любого виджета\n",
    "    error = Label(window, bg=\"white\", font=(\"Arial Black\", 15))\n",
    "    error.grid(column = 0, row = 3, rowspan = 2)\n",
    "\n",
    "    #строка ввода:\n",
    "    counter = Entry(window, bg=\"white\", font=(\"Arial Black\", 14), width=5, text = '1', justify=CENTER)\n",
    "    counter.grid(column=1, row=1)\n",
    "\n",
    "    #Canvas Можно создавать: Линии, круги, прямоугольники, стрелочки и тд))\n",
    "\n",
    "\n",
    "\n",
    "    window.pack(expand=True, ipadx=150, ipady=55, anchor=\"center\")\n",
    "    pass\n",
    "\n",
    "def Two_main():\n",
    "    global window, count, flag;\n",
    "    flag=0\n",
    "    window.destroy()\n",
    "    window = Frame(master=main_screen, bg= \"white\")\n",
    "    \n",
    "    text = Label(window, text = \"Вы нажали на кнопку: \"+str(count), bg=\"white\", font=(\"Arial Black\", 20))\n",
    "    text.grid(column=0, row=0)\n",
    "    text1 = Label(window, image=exit)\n",
    "    text1.grid(column=3, row=0, sticky=E)\n",
    "    text1.bind(\"<1>\", close_screen)\n",
    "    btn = Button(window, command = Main, bg=\"white\", text=\"Вернуться назад\", font=(\"Arial Black\", 15))\n",
    "    btn.grid(column=0, row=1)\n",
    "    \n",
    "    window.pack(expand=True, ipadx=150, ipady=55, anchor=\"center\")\n",
    "    pass\n",
    "Main()\n",
    "main_screen.mainloop()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
