Примеры виджетов Питон
Большинство виджетов взяты из Интернета и в каждой программе в начале кода указывается ссылка на материал.
Использование элементов Label, Combobox
#https://www.delftstack.com/ru/tutorial/tkinter-tutorial/tkinter-combobox/
#Tkinter Combobox_Virtual Event Binding.py
import tkinter as tk
from tkinter import ttk
def callbackFunc(event):
print(“New Element Selected “, comboExample.get(),comboExample.current())
app = tk.Tk()
app.geometry(‘200×100’)
labelTop = tk.Label(app,
text = “Choose your favourite month”)
labelTop.grid(column=0, row=0)
comboExample = ttk.Combobox(app,
values=[ “January”, “February”, “March”, “April”])
comboExample.grid(column=0, row=1)
comboExample.current(1)
comboExample.bind(“<<ComboboxSelected>>”, callbackFunc)
app.mainloop()
2.Совместное использование Text и Button
#https://www.delftstack.com/ru/howto/python-tkinter/how-to-get-the-input-from-tkinter-text-box/
import tkinter as tk
root = tk.Tk()
root.geometry(“400×240”)
def getTextInput():
result=textExample.get(“1.0″,”end”)
print(result)
textExample=tk.Text(root, height=10)
textExample.pack()
btnRead=tk.Button(root, height=1, width=10, text=”Read”,
command=getTextInput)
btnRead.pack()
root.mainloop()
3.Ещё один пример использования Label и Combobox
import tkinter as tk
from tkinter import ttk
# Creating tkinter window
window = tk.Tk()
window.title(‘Combobox’)
window.geometry(‘500×250’)
# label text for title
ttk.Label(window, text = “GFG Combobox Widget”,
background = ‘green’, foreground =”white”,
font = (“Times New Roman”, 15)).grid(row = 0, column = 1)
# label
ttk.Label(window, text = “Select the Month :”,
font = (“Times New Roman”, 10)).grid(column = 0,
row = 5, padx = 10, pady = 25)
# Combobox creation
n = tk.StringVar()
monthchoosen = ttk.Combobox(window, width = 27, textvariable = n)
# Adding combobox drop down list
monthchoosen [‘values’] =(‘ January’, ‘February’, ‘March’, ‘ April’, ‘ May’, ‘June’, ‘July’, ‘ August’, ‘ September’, ‘ October’, ‘ November’, ‘ December’)
monthchoosen.grid(column = 1, row = 5)
monthchoosen.current()
window.mainloop()
4.Добавлена кнопка Button. Упаковка через grid
#https://dvsemenov.ru/tkinter-primery-i-rukovodstvo-kak-delat-gui-na-python/
from tkinter import *
from tkinter import ttk
def clicked():
res = “Добро пожаловать, ” + txt.get()
lbl.configure(text= res)
window = Tk()
window.title(“Добро пожаловать!”)
window.geometry(“250×150+300+300”)
lbl = Label(window, text=”Привет!”, font=(“Arial Bold”, 10))
lbl.grid(column=0, row=0)
btn = Button(window, text=”Нажми меня”, bg=”orange”, fg=”red”, command=clicked)
btn.grid(column=2, row=0)
txt = Entry(window,width=10)
txt.grid(column=1, row=0)
txt.focus()
combo = ttk.Combobox(window,values=[“January”,”February”,”March”,”April”])
combo[‘values’] = (‘ January’, ‘February’, ‘March’, ‘ April’, ‘ May’, ‘June’, ‘July’, ‘ August’, ‘ September’, ‘ October’, ‘ November’, ‘ December’)
#combo = Combobox(window,values= [1, 2, 3, 4, 5, “Какой-то текст”])
combo.current(0) #Элемент выбранный по умолчанию
combo.grid(column=1, row=5)
window.mainloop()
Программа формирует ряд кнопок Button со значениями от 0 до 9 и четырьмя основными математическими операциями. Число этих операций можно всегда расширить. Кроме этого в программе используются кнопки Очистить (Clear) и вывода результата (= ) из поля Entry. В этом поле формируется результат ввода чисел для калькулятора и ответ. При нажатии на любую цифру она добавляется к цифрам в поле Entry по операции конкатенации справа При нажатии на кнопки математических операций предыдущий результат в окне Entry запоминается в переменной f_num. Окно ввода очищается для ввода следующего операнда и формируется флаг производимой операции. При нажатии на клавишу Равно производятся вычисления над операндами в соответствии с ранее сформированным флагом и вывод полученного результата в поле Entry.
6. Добавление из поля Entry и удаление элементов Listbox и их печать