VolinNilov
Dec 17th, 2023
43
0
Never
This is comment for paste Tkinter Ivan
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from tkinter import *
  2. from tkinter import ttk
  3.  
  4. root = Tk() # Создаём корневой объект - окно
  5.  
  6. root.title('Приложение Hello world для Tkinter') # Устанавливаем заголовк окна
  7.  
  8. #root.iconbitmap(default = "icon_1.ico") # Установка иконки приложения, в левом верхнем углу, только в формате .ico
  9.  
  10. #icon = PhotoImage(file = "icon_2.png") # Установка иконки приложения, в левом верхнем углу, только в формате .png
  11. #root.iconphoto(False, icon) # первый параметр указывает, нужно ли использовать эту иконку по умолчанию для всех приложений, а второй параметр это объект класса PhotoImage
  12.  
  13. root.geometry("400x200+500+300") # Устанавливаем размеры окна, "ВысотахШирина+Х+Y"
  14.  
  15. #label = Label(text = "Привет мир, это первое приложение на Tkinter") # Устанавливаем текстовую метку в самом окне
  16. #label.pack()
  17.  
  18. #root.update_idletasks()
  19. #print(root.geometry()) # Печать размеров окна и его кординат на экране
  20.  
  21. #root.resizable(False, False) # Задаём фиксированное значение окна (по высоте и ширине), первый параметр отвечает за ширину, второй за высоту
  22.  
  23. #root.minsize(200, 150) # Минимальные размеры окна
  24. #root.maxsize(500, 400) # Максимальные размеры окна
  25.  
  26. ## Перехват закрытия окна
  27. #def finish():
  28. # root.destroy() # ручное закрытие окна и всего приложения
  29. # print("Закрытие приложения")
  30. #root.protocol("WM_DELETE_WINDOW", finish) # мы отлавливаем событие "WM_DELETE_WINDOw", а потом вызываем функцию finish() для ручного закрытия всего приложения
  31.  
  32. ## Атрибуты окна
  33. #root.attributes("-fullscreen", True) # Устнаовка полноэкранного режима для окна
  34. #root.attributes("-alpha", 0.5) # Установка уровня прозрачности для окна
  35. #root.attributes("-toolwindow", True) # Отключение верхней панели окна (за исключением заголовка и крестика для закрытия)
  36.  
  37. # Стандартные виджеты из общего пакета tkinter
  38. # Виджет Button
  39. #btn_standart = Button(text = "Кнопка из стандартного пакета tkinter") # Создаём кнопку из стандартного пакета tkinter
  40. #btn_standart.pack() # Размещаем в окне приложения
  41.  
  42. #btn_ttk = ttk.Button(text = "Кнопка из пакета ttk") # Создаём кнопку из пакета ttk
  43. #btn_ttk = ttk.Button()
  44. #btn_ttk.pack() # Размещаем в окне приложения
  45.  
  46. ## Устанавливаем параметр text
  47. #btn_ttk["text"] = "Send"
  48. ## Получаем значение параметра text
  49. #btn_ttk_text = btn_ttk["text"]
  50. #print(btn_ttk_text)
  51.  
  52. ## Устанавливаем параметр text
  53. #btn_ttk.config(text = "Send Email")
  54.  
  55. ## Получение информации о виджете
  56. #def print_info(widget, depth = 0): # Получение информации о всех виджетах, которые есть (их класс, размеры и координаты)
  57. # widget_class = widget.winfo_class()
  58. # widget_width = widget.winfo_width()
  59. # widget_height = widget.winfo_height()
  60. # widget_x = widget.winfo_x()
  61. # widget_y = widget.winfo_y()
  62. # print(' '*depth + f'{widget_class}: width = {widget_width}, height = {widget_height}, x = {widget_x}, y = {widget_y}')
  63. # for child in widget.winfo_children():
  64. # print_info(child, depth+1)
  65. #root.update() # Обновляем информацию о виджетах
  66. #print_info(root)
  67.  
  68. ## Обработка нажатия кнопки
  69. #label = Label(text = 'Приложение "Кликер на Tkinter"') # Устанавливаем текстовую метку в самом окне
  70. #label.pack()
  71. #clicks = 0 # переменная, которая хранит количество кликов
  72. #def click_button():
  73. # global clicks
  74. # clicks += 1
  75. # # изменим текст кнопки
  76. # btn['text'] = f'Click Me {clicks} times' # изменяем текст кнопки на новый
  77. #btn = ttk.Button(text = 'Click Me', command = click_button)
  78. #btn.pack()
  79.  
  80. ## Отключение кнопки
  81. #label = Label(text = 'Отключение кнопки')
  82. #label.pack()
  83. #root.geometry('250x200')
  84. #btn = ttk.Button(text = 'Click Me', state = ['disabled'])
  85. #btn.pack(expand=True)
  86. #btn.pack(expand=True, fill=BOTH)
  87. #btn.pack(expand=True, fill=X)
  88. #btn.pack(expand=True, fill=Y)
  89. #btn.pack(expand=True, anchor=N) # N = North
  90. #btn.pack(expand=True, anchor=S) # S = South
  91. #btn.pack(expand=True, anchor=E) # E = East
  92. #btn.pack(expand=True, anchor=W) # W = West
  93. #btn.pack(expand=True, anchor=NE) # NE = North-East
  94. #btn.pack(expand=True, anchor=NW) # NW = North-West
  95. #btn.pack(expand=True, anchor=SE) # SE = South-East
  96. #btn.pack(expand=True, anchor=SW) # SW = South-West
  97. #btn.pack(side = TOP)
  98. #btn.pack(side = BOTTOM)
  99. #btn.pack(side = LEFT)
  100. #btn.pack(side = RIGTH)
  101.  
  102.  
  103. ## Позиционирование Grid
  104. root.geometry('250x200')
  105.  
  106. for c in range(3): root.columnconfigure(index = c, weight = 1)
  107. for r in range(3): root.rowconfigure(index = r, weight=1)
  108.  
  109. for r in range(3):
  110. for c in range(3):
  111. btn = ttk.Button(text = f'[{r}, {c}]')
  112. btn.grid(row = r, column = c)
  113.  
  114.  
  115.  
  116.  
  117. root.mainloop() # Метод для отображения окна и взаимодействия с пользователем
  118.  
Advertisement
Add Comment
Please, Sign In to add comment