blob: 23b9658938aecf084546c38d01296458a4366cdb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
```python
from tkinter import *
root = Tk()
root.title("Hello!")
root.iconbitmap(default="favicon.ico") # определим в одной папке с файлом приложения какой-нибудь файл с иконкой, допустип, он называется "favicon.ico". через параметр `default` в метод iconbitmap передается путь к иконки. В данном случае файл иконки располагается с файлом приложения в одной папке, поэтому в качестве пути указывается просто имя файла.
root.geometry("300x250+400+200")
# Теперь строка в методе geometry имеет следующий формат: "Ширина x Высота + координатаX + координатаY". То есть при запуске окно шириной в 300 единиц и высотой 250 единиц будет находиться на 400 пикселей вправо и на 200 пикселей вниз от верхнего левого угла экрана.
root.update_idletasks()
print(root.geometry()) # Для получения данных о размере и позиции также можно использовать метод geometry(), который возвращает данные значения в виде строки в формате "widthxheight+x+y". Чтобы приложение еще до метода `mainloop()` принименило для окна переданные ему значения по ширине, высоте и позиции, вызывается метод `root.update_idletasks()`. В итоге вызов `root.geometry()` возвратить строку "300x250+400+200"
root.resizable(False,False) # Можно-ли растягивать: ширина - высота
root.mainloop()
```
### Виджеты. Основные:
- Button: кнопка
- Label: текстовая метка
- Entry: однострочное текстовое поле
- Text: многострочное текстовое поле
- Checkbutton: флажок
- Radiobutton: переключатель или радиокнопка
- Frame: фрейм, который организует виджеты в группы
- Listbox: список
- Combobox: выпадающий список
- Menu: элемент меню
- Scrollbar: полоса прокрутки
- Treeview: позволяет создавать древовидные и табличные элементы
- Scale: текстовая метка
- Spinbox: список значений со стрелками для перемещения по элементам
- Progressbar: текстовая метка
- Canvas: текстовая метка
- Notebook: панель вкладок
### Получение информации о виджете
Для получения информации о виджете можно использовать ряд его атрибутов. Рассмотрим некоторые из них:
- winfo_class: возвращает класс виджета, например, для кнопки это класс `TButton`
- winfo_children: возвращает для текущего виджета список вложенных виджетов
- winfo_parent: возвращает родительский виджет
- winfo_toplevel: возвращает окно, которое содержит данный виджет
- winfo_width и winfo_height: текущая ширина и высота виджета
- winfo_reqwidth и winfo_reqheight: запрошенная виджетом ширина и высота
- winfo_x и winfo_y: x и y координаты верхнего левого угла виджета относительно родительского элемента
- winfo_rootx и winfo_rooty: x и y координаты верхнего левого угла виджета относительно экрана
- winfo_viewable: указывает, отображается ли виджет или скрыт
|