Рубрики
Без рубрики

Обучение Python- промежуточный курс: день 31, Координатные позиции

Сегодня мы охватим планировку координат в Tkinter Сегодня мы сделаем программу, которая … Tagged On MessurepyPhon, Python, Учебник.

Обучение Python (72 частью серии)

Сегодня мы охватим планировку координат в Tkinter

Сегодня мы сделаем программу, которая примет участие в вкладах принципа и скидки и рассчитать общую цену.

Вот спецификации программы

  • Один ярлык для текстового принципа
  • Один ярлык для скидки текста
  • Один ярлык для общей стоимости
  • Одна кнопка шоу.
  • Один слайдер для значений скидки
  • Одна спина для основной суммы

Теперь, когда у нас есть все спецификации, давайте начнем строить программу-

from tkinter import *
master=Tk()
master.geometry("300x200")

Lbl1=Label(master,text="Principle")
Lbl2=Label(master,text="Discount")
Lbl3=Label(master,text="Total. ",font="20px")
spinbox=Spinbox(master,from_=10, to=100)
slider=Scale(master,from_=0, to=100, tickinterval=20, length= 150, orient="horizontal")
def display():
    a=int(spinbox.get())-int(spinbox.get())*int(slider.get())/100
    Lbl3.config(text=str(a)+"$")
button=Button(master,text="Calculate",command=display)

spinbox.pack()
Lbl1.pack()
slider.pack()
Lbl2.pack()
button.pack()
Lbl3.pack()

mainloop()


Программа работает хорошо, но это не то, как мы хотим отображать виджеты. Нам нужно настроить внешний вид. Мы хотим, чтобы первые две этикетки были прилегающими к спине и слайдере виджеты. Для этого мы используем макет координат. Макет пакета недостаточно, поскольку он упаковывает все виджеты в только центральную линию. Следовательно, мы разместим их по координату.

Мы можем установить координаты виджетов, используя место метод. Пример Widget.place (x = 30, y = 20) Вот окончательная программа, теперь с силой места размещения.

from tkinter import *
master=Tk()
master.geometry("300x200")

Lbl1=Label(master,text="Principle")
Lbl2=Label(master,text="Discount")
Lbl3=Label(master,text="Total. ",font="20px")
spinbox=Spinbox(master,from_=10, to=100)
slider=Scale(master,from_=0, to=100, tickinterval=20, length= 150, orient="horizontal")
def display():
    a=int(spinbox.get())-int(spinbox.get())*int(slider.get())/100
    Lbl3.config(text=str(a)+"$")
button=Button(master,text="Calculate",command=display)

spinbox.place(x=100, y=0)
Lbl1.place(x=0,y=0)
slider.place(x=100, y=50)
Lbl2.place(x=0,y=70)
button.place(x=150,y=130)
Lbl3.place(x=150,y=170)

mainloop()

Одно следует отметить, что макеты остаются прежними, даже если окно изменяется.

Обучение Python (72 частью серии)

Оригинал: “https://dev.to/aatmaj/learning-python-intermediate-course-day-31-coordinate-positions-4eah”