Python tkinter label прокрутка
- Python | Creating a button in tkinter
- Python | Add style to tkinter button
- Python | Add image on a Tkinter button
- Python Tkinter – Label
- Python Tkinter | Create LabelFrame and add widgets to it
- RadioButton in Tkinter | Python
- Python Tkinter – Checkbutton Widget
- Python Tkinter – Canvas Widget
- Python Tkinter | Create different shapes using Canvas class
- Python Tkinter | Create different type of lines using Canvas class
- Python Tkinter | Moving objects using Canvas.move() method
- Combobox Widget in tkinter | Python
- maxsize() method in Tkinter | Python
- minsize() method in Tkinter | Python
- resizable() method in Tkinter | Python
- Python Tkinter – Entry Widget
- Tkinter – Read only Entry Widget
- Python Tkinter – Text Widget
- Python Tkinter – Message
- Python | Menu widget in Tkinter
- Python Tkinter – Menubutton Widget
- Python Tkinter – SpinBox
- Progressbar widget in Tkinter | Python
- Python-Tkinter Scrollbar
- Python Tkinter – ScrolledText Widget
- Python Tkinter – ListBox Widget
- Scrollable ListBox in Python-tkinter
- Python Tkinter – Frame Widget
- Scrollable Frames in Tkinter
- How to make a proper double scrollbar frame in Tkinter
- Python Tkinter – Scale Widget
- Hierarchical treeview in Python GUI application
- Python-Tkinter Treeview scrollbar
- Python Tkinter – Toplevel Widget
- Python | askopenfile() function in Tkinter
- Python | asksaveasfile() function in Tkinter
- Python – Tkinter askquestion Dialog
- Python Tkinter – MessageBox Widget
- Create a Yes/No Message Box in Python using tkinter
- Change the size of MessageBox – Tkinter
- Different messages in Tkinter | Python
- Change Icon for Tkinter MessageBox
- Python – Tkinter Choose color Dialog
- Popup Menu in Tkinter
- Getting screen’s height and width using Tkinter | Python
- Python | How to dynamically change text of Checkbutton
- Python | focus_set() and focus_get() method
- Search String in Text using Python-Tkinter
- Autocomplete ComboBox in Python-Tkinter
- Autohiding Scrollbars using Python-tkinter
- Python Tkinter – Validating Entry Widget
- Tracing Tkinter variables in Python
- Python | setting and retrieving values of Tkinter variable
- Tkinter | Adding style to the input text using ttk.Entry widget
- Python | after method in Tkinter
- destroy() method in Tkinter | Python
- Text detection using Python
- Python | winfo_ismapped() and winfo_exists() in Tkinter
- Collapsible Pane in Tkinter | Python
- Creating a multiple Selection using Tkinter
- Creating Tabbed Widget With Python-Tkinter
- Open a new Window with a button in Python-Tkinter
- Cryptography GUI using python
- Python | Simple GUI calculator using Tkinter
- Create Table Using Tkinter
- Python | GUI Calendar using Tkinter
- File Explorer in Python using Tkinter
- Python | ToDo GUI Application using Tkinter
- Python: Weight Conversion GUI using Tkinter
- Python: Age Calculator using Tkinter
- Python | Create a GUI Marksheet using Tkinter
- Python | Loan calculator using Tkinter
- Python | Create a digital clock using Tkinter
- Make Notepad using Tkinter
- Color game using Tkinter in Python
- Python | Simple FLAMES game using Tkinter
- Simple registration form using Python Tkinter
- How to create a COVID19 Data Representation GUI?
- Python | Creating a button in tkinter
- Python | Add style to tkinter button
- Python | Add image on a Tkinter button
- Python Tkinter – Label
- Python Tkinter | Create LabelFrame and add widgets to it
- RadioButton in Tkinter | Python
- Python Tkinter – Checkbutton Widget
- Python Tkinter – Canvas Widget
- Python Tkinter | Create different shapes using Canvas class
- Python Tkinter | Create different type of lines using Canvas class
- Python Tkinter | Moving objects using Canvas.move() method
- Combobox Widget in tkinter | Python
- maxsize() method in Tkinter | Python
- minsize() method in Tkinter | Python
- resizable() method in Tkinter | Python
- Python Tkinter – Entry Widget
- Tkinter – Read only Entry Widget
- Python Tkinter – Text Widget
- Python Tkinter – Message
- Python | Menu widget in Tkinter
- Python Tkinter – Menubutton Widget
- Python Tkinter – SpinBox
- Progressbar widget in Tkinter | Python
- Python-Tkinter Scrollbar
- Python Tkinter – ScrolledText Widget
- Python Tkinter – ListBox Widget
- Scrollable ListBox in Python-tkinter
- Python Tkinter – Frame Widget
- Scrollable Frames in Tkinter
- How to make a proper double scrollbar frame in Tkinter
- Python Tkinter – Scale Widget
- Hierarchical treeview in Python GUI application
- Python-Tkinter Treeview scrollbar
- Python Tkinter – Toplevel Widget
- Python | askopenfile() function in Tkinter
- Python | asksaveasfile() function in Tkinter
- Python – Tkinter askquestion Dialog
- Python Tkinter – MessageBox Widget
- Create a Yes/No Message Box in Python using tkinter
- Change the size of MessageBox – Tkinter
- Different messages in Tkinter | Python
- Change Icon for Tkinter MessageBox
- Python – Tkinter Choose color Dialog
- Popup Menu in Tkinter
- Getting screen’s height and width using Tkinter | Python
- Python | How to dynamically change text of Checkbutton
- Python | focus_set() and focus_get() method
- Search String in Text using Python-Tkinter
- Autocomplete ComboBox in Python-Tkinter
- Autohiding Scrollbars using Python-tkinter
- Python Tkinter – Validating Entry Widget
- Tracing Tkinter variables in Python
- Python | setting and retrieving values of Tkinter variable
- Tkinter | Adding style to the input text using ttk.Entry widget
- Python | after method in Tkinter
- destroy() method in Tkinter | Python
- Text detection using Python
- Python | winfo_ismapped() and winfo_exists() in Tkinter
- Collapsible Pane in Tkinter | Python
- Creating a multiple Selection using Tkinter
- Creating Tabbed Widget With Python-Tkinter
- Open a new Window with a button in Python-Tkinter
- Cryptography GUI using python
- Python | Simple GUI calculator using Tkinter
- Create Table Using Tkinter
- Python | GUI Calendar using Tkinter
- File Explorer in Python using Tkinter
- Python | ToDo GUI Application using Tkinter
- Python: Weight Conversion GUI using Tkinter
- Python: Age Calculator using Tkinter
- Python | Create a GUI Marksheet using Tkinter
- Python | Loan calculator using Tkinter
- Python | Create a digital clock using Tkinter
- Make Notepad using Tkinter
- Color game using Tkinter in Python
- Python | Simple FLAMES game using Tkinter
- Simple registration form using Python Tkinter
- How to create a COVID19 Data Representation GUI?
Python tkinter label прокрутка
Виджет Scrollbar прокручивать содержимое контейнера, которое больше размеров этого контейнера.
Основные параметры конструктора Scrollbar:
- orient : направление прокрутки. Может принать следующие значения: vertical (вертикальная прокрутка) и horizontal (горизонтальная прокрутка).
- command : команда прокрутки
Scrollbar не используется сам по себе, он применяется лишь для прокручиваемого виджета. Не все виджеты в tkinter являются прокручиваемыми. Для прокрутки по вертикали прокручиваемый виджет имеет yview , а для прокрутки по горизонтали — метод xview (виджет может иметь только один из этих методов). Примером прокручиваемого виджета может служить Listbox или Text . Этот метод используется в качестве команды для Scrollbar:
listbox = Listbox() # вертикальная прокрутка scrollbar = ttk.Scrollbar(orient="vertical", command = listbox.yview)
Но прокручиваемый виджет должен также взаимодействовать со Scrollbar. Для этого у прокручиваемого виджета имеются параметры yscrollcommand и/или xscrollcommand , которые должны принимать вызов метода set объекта Scrollbar:
from tkinter import * from tkinter import ttk languages = ["Python", "JavaScript", "C#", "Java", "C++", "Rust", "Kotlin", "Swift", "PHP", "Visual Basic.NET", "F#", "Ruby", "R", "Go", "C", "T-SQL", "PL-SQL", "Typescript", "Assembly", "Fortran"] root = Tk() root.title("METANIT.COM") root.geometry("250x200") languages_var = StringVar(value=languages) listbox = Listbox(listvariable=languages_var) listbox.pack(side=LEFT, fill=BOTH, expand=1) scrollbar = ttk.Scrollbar(orient="vertical", command=listbox.yview) scrollbar.pack(side=RIGHT, fill=Y) listbox["yscrollcommand"]=scrollbar.set root.mainloop()
В конструкторе scrollbar ассоциируется с функцией, которую надо выполнять при прокрутке. В данном случае это метод yview элемента listbox. В итоге мы сможем прокручивать элементы по вертикали:
И так как необходимо прокручивать listbox по вертикали, то у него задается параметр listbox[«yscrollcommand»]=scrollbar.set
Ручная прокрутка
В принципе для прокрутки виджета (который поддерживает прокрутку) использовать Scrollbar необязательно. Для прокрутки виджет может содержать специальные методы:
- yview_scroll(number, what) : сдвигает текущее положение по вертикали. Параметр number указывает количество, на которое надо сдвигать. А параметр what определяет единицы сдвига и может принимать следующие значения: «units» (элемент) и «pages» (страницы)
- xview_scroll(number, what) : сдвигает текущее положение по горизонтали
- yview_moveto(fraction) : сдвигает область просмотра по вертикали на определенную часть, которая выражается во float от 0 до 1
- xview_moveto(fraction) : сдвигает область просмотра на определенную часть по горизонтали
Например, сдвиг на два элемента списка вниз:
from tkinter import * from tkinter import ttk languages = ["Python", "JavaScript", "C#", "Java", "C++", "Rust", "Kotlin", "Swift", "PHP", "Visual Basic.NET", "F#", "Ruby", "R", "Go", "T-SQL", "PL-SQL", "Typescript"] root = Tk() root.title("METANIT.COM") root.geometry("250x200") languages_var = StringVar(value=languages) listbox = Listbox(listvariable=languages_var) listbox.pack(expand=1, fill=BOTH) # сдвигаем скрол на 1 элемент внизу listbox.yview_scroll(number=1, what="units") root.mainloop()
Виджет Tkinter Scrollbar в Python
Виджет полосы прокрутки Tkinter – Scrollbar используется в Python для прокрутки вниз содержимого других виджетов, таких как listbox, text и canvas. Однако мы также можем создать горизонтальные полосы прокрутки для виджета Entry.
Синтаксис для использования виджета Scrollbar приведен ниже.
Список возможных вариантов приведен ниже.
№ | Вариант | Описание |
---|---|---|
1 | activebackground | Цвет фона виджета, когда он находится в фокусе. |
2 | bg | Цвет фона виджета. |
3 | bd | Ширина границы виджета. |
4 | command | Это может быть процедура, связанная со списком, которая может вызываться каждый раз при перемещении полосы прокрутки. |
5 | cursor | Указатель мыши изменится на тип курсора, установленный для этого параметра, который может быть стрелкой, точкой и т. д. |
6 | elementborderwidth | Он представляет ширину границы вокруг стрелок и ползунка. Значение по умолчанию -1. |
7 | Highlightbackground | Цвет выделения фокуса, когда у виджета нет фокуса. |
8 | highlighcolor | Цвет выделения фокуса, когда виджет находится в фокусе. |
9 | highlightthickness | Он представляет толщину выделения в фокусе. |
10 | jump | Используется для управления поведением прыжка прокрутки. Если он установлен в 1, то обратный вызов вызывается, когда пользователь отпускает кнопку мыши. |
11 | orient | Он может быть установлен на ГОРИЗОНТАЛЬНЫЙ или ВЕРТИКАЛЬНЫЙ в зависимости от ориентации полосы прокрутки. |
12 | repeatdelay | Эта опция указывает продолжительность, до которой должна быть нажата кнопка, прежде чем ползунок начнет многократно перемещаться в этом направлении. По умолчанию 300 мс. |
13 | repeatinterval | Значение интервала повтора по умолчанию – 100. |
14 | takefocus | По умолчанию мы можем использовать этот виджет с помощью табулятора. Мы можем установить для этого параметра значение 0, если мы не хотим такого поведения. |
15 | troughcolor | Он представляет цвет желоба. |
16 | width | Он представляет ширину полосы прокрутки. |
Методы Scrollbar
Виджет предоставляет следующие методы.
№ | Метод | Описание |
---|---|---|
1 | get() | Возвращает два числа a и b, которые представляют текущую позицию полосы прокрутки. |
2 | set(first, last) | Используется для подключения полосы прокрутки к другому виджету. Команда yscroll или xscrollcommand другого виджета для этого метода. |
Пример
from tkinter import * top = Tk() sb = Scrollbar(top) sb.pack(side = RIGHT, fill = Y) mylist = Listbox(top, yscrollcommand = sb.set ) for line in range(30): mylist.insert(END, "Number " + str(line)) mylist.pack( side = LEFT ) sb.config( command = mylist.yview ) mainloop()