# tk_focusFollowsMouse - sichqoncha bilan surilganida, vidjetni focusini oladigan sozlash.
Ta’rif: Tizimli usullar (Tizim usullari) Ushbu usullar vidjetga xos emas, ya'ni ular vidjet usullari bo`lishiga qaramay, ular TCL / TK tarjimonini ishlashiga ta'sir qiladi. # after, after_idle va after_cancel
Misol: # Taymerlar. Ushbu usullardan foydalanib, ma'lum bir vaqt uchun ba'zi kodlarning bajarilishini kechiktirishingiz mumkin.
# after - ikkita argument oladi: milli soniyadagi vaqt va belgilangan vaqtdan keyin bajariladigan funksiya. After_cancel da ishlatilishi mumkin bo'lgan identifikatorni qaytaradi.
# after_idle - bir argumentni oladi - funksiya. Bu funktsiya barcha kutilayotgan amallarni bajarilgandan so'ng amalga oshiriladi (barcha hodisalar ko'rib chiqilgandan keyin). After_cancel da ishlatilishi mumkin bo'lgan identifikatorni qaytaradi.
# after_cancel - bitta argument oladi: oldingi vazifalar tomonidan qabul qilingan vazifa identifikatori va bu vazifani bekor qiladi.
# from Tkinter import *
import time
def tick():
label.after(200, tick)
label['text'] = time.strftime('%H:%M:%S')
root=Tk()
label = Label(font='sans 20')
label.pack()
label.after_idle(tick)
root.mainloop()
Ta’rif: update va update_idletasks - Navbat bilan ishlash uchun ikkita vazifani bajaradi. Ularning ijro etilishi tanlangan vazifalarni qayta ishlashga sabab bo'ladi.
Misol: # update_idletasks - dastur bekor bo`lganda, odatda "keyinroq" uchun qoldirilgan vazifalarni bajaradi. Bu barcha vidjetlarni chizish, ularning joylashuvini hisoblash va boshqalarga yordamga olib keladi. Odatda bu funktsiya dasturning holatiga o'zgartirishlar kiritilgan bo'lsa va ushbu o'zgarishlarni skriptni bajarishni kutmasdan darhol ekranda ko'rsatilishi mumkin.
# Update - barcha navbatdagi vazifalarni bajaradi. Odatda, bu funktsiya "og'ir" hisob-kitoblar vaqtida qo`llanilishi foydalanuvchi harakatlariga javob berishda kerak bo`lganda qo`llaniladi.
# from Tkinter import *
import math
def hard_job():
x = 1000
while True:
x = math.log(x) ** 2.8
root.update()
root=Tk()
button = Button()
button.pack()
root.after(500, hard_job)
root.mainloop()
Ta’rif: eval va evalfile - TCL kodini bajarish uchun ikkita noaniq funktsiya.
Eval - TCL dasturlash tilida dasturni amalga oshirishga imkon beradi va faylga yozilgan kodni bajarish uchun qulay. Argumentlar navbati bilan fayl yo'lidir. Ushbu vazifalar TCL da yozilgan qo'shimcha modullardan foydalanganda foydalidir.
Misol. # from Tkinter import *
root=Tk()
root.eval('package require tile; ttk::style theme use clam')
root.eval('ttk::button .b -text {ttk button}; pack .b')
root.mainloop()
Ta’rif: Toplevel yuqori darajali oynadir. Odatda ko'p oynali dasturlarni yaratishda, shuningdek dialog oynalarda ishlatiladi.
Do'stlaringiz bilan baham: |