Oynaga Spinbox vidjetini joylashtirish
Usbu vidjet oʻng tomonida joylashgan tugmalarni chertish hisobiga oynadagi qiymatlarni oshirish yoki koʻpaytirish uchun xizmat qiladi. Tabiiyki, foydalanuvchi interfeysiga bu vidjetni oʻrnatish bir qator qulayliklar taqdim etadi. Vidjetni Spinbox sinfi asosida tashkil qilinadi:
spin = Spinbox(oyna, from_=0, to=100).
Shunday qilib, yaratilgan Spinbox vidjeti nomerlari diapazonini from va to parametrlari yordamida koʻrsatiladi. Bundan tashqari, vidjet oynasi kengligi width parametri orqali belgilab qoʻyiladi:
spin = Spinbox(oyna, from_=0, to=100, width=5).
Bu ma’lumotlarni interfeys oynasini yaratish uchun tatbiq etamiz (.13-rasm).
f
.13-rasm.
rom tkinter import *
oyna = Tk()
oyna.title("Bu-grafik interfeys oynasi")
oyna.geometry('400x250')
spin= Spinbox(oyna, from_=0, to=100, width=5)
spin.grid(column=0, row=0)
oyna.mainloop()
Zarur hollarda Spinbox uchun diapazondan toʻliq foydalanish oʻrniga sonlarni aniq koʻrsatish mumkin. masalan,
spin = Spinbox(oyna, values=(3, 8, 11), width=5).
Bu holda vidjet faqat 3, 8 va 11 conlarini koʻrsatadi holos.
Spinbox vidjeti uchun toʻgʻridan-toʻgʻri beriladigan qiymatlarni textvariable parametri orqali koʻrsatish mumkin. Bu amal quyidagi tartibda yoziladi:
var = IntVar()
var.set(4)
spin = Spinbox(oyna, from_=0, to=100, width=5, textvariable=var)
Shundan keyin kod ishga tushirilganda, interfeys oynasi ochiladi va unda Spinbox vidjetining qiymati sifatida 4 soni koʻrsatiladi.
Interfeysga Progressbar vidjetini qoʻshish
Progressbar (jarayon indikatori) – bu grafik interfeysning toʻrtburchak shaklidagi elementi boʻlib, oʻzida kodning bajarilish (masalan, nusxa olish) jarayonini aks ettirish uchun xizmat qiladi. Bunday vidjetni oyga oʻrnatish uchun progressbar sinfidan foydalanish mumkin:
from tkinter.ttk import Progressbar
bar = Progressbar(oyna, length=200)
Interfeys uchun progressbar parametrini quyidagicha yozish mumkin:
bar['value'] = 70
Bunday parametrni masala yoki jarayonning bajarilishi holatini namoyish qilish uchun oʻrnatiladi.
P
.14-rasm.
rogressbar rangini oʻzgartirish bir oz murakkabroq. Buning uchun dastlab stil yaratiladi va fon rangi belfilanadi. Soʻngra yaratilgan stil sozlanadi. Quyidagi namumaga e’tibor bering (.14-rasm):
from tkinter import *
from tkinter.ttk import Progressbar
from tkinter import ttk
oyna = Tk()
oyna.title("Bu-grafik interfeys oynasi")
oyna.geometry('400x250')
style = ttk.Style()
style.theme_use('default')
style.configure("black.Horizontal.TProgressbar", background='black')
bar = Progressbar(oyna, length=200, )
bar['value'] = 70
bar.grid(column=0, row=0)
oyna.mainloop()
Oynaga yuklash maydonini oʻrnatish
Interfeys soynasiga faylli maydon joylashtirish uchun filedialog sinfidan foydalanish mumkin :
from tkinter import filedialog
f
.15-rasm.
ile = filedialog.askopenfilename()
Bu buyruqlar bajarilganda ekranda fayllarni ochish uchin moʻljallangan oyna ochiladi (.15-rasm). Bu oynadan kerakli fayl tanlanganidan keyin “Открыть” tugmasi chertiladi. Shunda fayl oʻzgaruvchisi koʻrsatilgan faylga boʻgan yoʻlni oʻziga qiymat qilib oladi. Zarur hollarda bir emas, balki bir nechta fayllarni birdaniga tanlashga toʻgʻri kelib qolishi nunkin. Bunday vaziyatlarfa quyidagi koʻrsatmadan foydalanish mumkin:
files = filedialog.askopenfilenames().
Zarur hollarda fayllarning kengaytmalarini koʻrsatish mumkin. Buning uchun filetypes parametridan foydalaniladi:
file = filedialog.askopenfilename(filetypes = (("Text files","*.txt"),("all files","*.*")))
Fayl joylashgan papka nomini askdirectory funksiyasi yordamida aniqlanadi:
dir = filedialog.askdirectory()
Ochladigan dialog oynasi uchun boshlangʻich papkani initialdir parametri bilan belgilab qoʻyish mumkin:
from os import path
file = filedialog.askopenfilename(initialdir= path.dirname(__file__))
Do'stlaringiz bilan baham: |