Питон. Виджеты

Автор: | 08.02.2022

Примеры виджетов Питон

Большинство виджетов взяты из Интернета и в каждой программе в начале кода указывается ссылка на материал.

Использование элементов 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()

5.Простой калькулятор

Программа формирует ряд кнопок Button со значениями от 0 до 9 и четырьмя основными математическими операциями. Число этих операций можно всегда расширить. Кроме этого в программе используются кнопки Очистить (Clear) и вывода результата (= ) из поля Entry. В этом поле формируется результат ввода чисел для калькулятора и ответ.  При нажатии на любую цифру она добавляется к цифрам в поле Entry по операции конкатенации справа При нажатии на кнопки математических операций предыдущий результат в окне Entry запоминается в переменной f_num. Окно ввода очищается для ввода следующего операнда и формируется флаг  производимой операции. При нажатии на клавишу Равно производятся вычисления над операндами в соответствии с ранее сформированным флагом и вывод полученного результата в поле Entry.

6. Добавление из поля Entry и удаление элементов  Listbox и их печать