Dinamik tiplashtirilgan



Download 2,94 Mb.
bet78/117
Sana01.02.2022
Hajmi2,94 Mb.
#422447
1   ...   74   75   76   77   78   79   80   81   ...   117
Bog'liq
Pyton tili8 (3)

combo.get().

Oynaga Checkbutton vidjetini joylash


Interfeys oynasiga checkbutton vidjetini joylash uchun Checkbutton sinfidan foydalaniladi:


from tkinter.ttk import Checkbutton
chk = Checkbutton(oyna, text='Tanlash')
Bundan tashqari, uni Chekbuttonning var parametriga ham uzatish mumkin. Natijada kod quyidagi koʻrinishga keladi:
from tkinter import *
from tkinter.ttk import Checkbutton
oyna = Tk()
oyna.title("Bu-grafik interfeys oynasi")
oyna.geometry('400x250')
chk_state = BooleanVar()
chk_state.set(True) # checkbox holatini tekshirish
chk = Checkbutton(oyna, text='tanlash', var=chk_state)
chk.grid(column=0, row=0)
o

.8-rasm.
yna.mainloop()

Kod ekranda .8-rasmni hosil qiladi.
Oynadai Checkbutton holatini qayd qilish uchun Tkinterning BooleanVar tipidagi oʻzgaruvchisidan foydalanish mumkin. Bu oʻzgaruvchi holatini True tarzida belgilib, Chekbutton sinfiga namunadagi kabi uzatish mumkin. Zarur boʻlsa, uning qiymatini False ga oʻzgartirilsa, tanlash tugmasidagi bayroqacha olib tashlanadi. Shuningdek, BooleanVar oʻrniga IntVar oʻzgaruvchisini 0 yoki 1 qiiymatlari bilan birga qoʻllash mumkun:
chk_state = IntVar()
chk_state.set(0) # False
chk_state.set(1) # True
Bo koʻrsatmalar BooleanVar bilan bir hil natijani ta’minlaydi.
RadioButton vidjetini oʻrnatish
RadioButton vidjeti foydalanuvchilarga interfeys oynasidagi bir nechta varinatlardan birini tanlash inkonini beradi. Oynaga radio tugmasini joylash uchun RadioButton sinfidan foydalaniladi. Oynaga oʻrnatilishi lozim boʻlgan har bir tugma uchun alohida koʻrsatma talab qilinadi. Aks holda ular ishlamaydi:
rad1 = Radiobutton(oyna, text='Birinchi', value=1)
Yuqoridagi interfeys oynasi uchun yozilgan koqni quyidagicha oʻzgartiriladi:
from tkinter import *
from tkinter.ttk import Radiobutton
oyna = Tk()
oyna.title("Bu – grafik interfeys oynasi")
oyna.geometry('400x250')
rad1 = Radiobutton(oyna, text='Birinchi, value=1)
rad2 = Radiobutton(oyna, text='Ikkinchi', value=2)
rad3 = Radiobutton(oyna, text='Uchinchi', value=3)
r

.9-rasm.
ad1.grid(column=0, row=0)
rad2.grid(column=1, row=0)
rad3.grid(column=2, row=0)
oyna.mainloop()
Kod natijasi .9-rasmda keltilrilgan. Bundan tashqari, bu tugmalardan ihtiyoriy biri uchun command yordamida biror vazifani belgilash mumkin. Bu holda tegishli Radiobutton tugmasi chertilganda uning uchun belgilangan buyruqlar tizimi ishga tushadi. Quyidagi namunaga eʻtibor bering:
rad1 = Radiobutton(oyna, text='Birinchi', value=1, command=clicked)

def clicked():
# zarur amallarni yozing
Tanlangan Radiobutton tugmasi yoki uning qiymatini olish uchun oʻzgaruvchi parametrini uzatish va qabul qilish mumkin.
from tkinter import *
from tkinter.ttk import Radiobutton
def clicked():
lb1.configure(text=selected.get())
oyna = Tk()
oyna.title("Bu-grafik interfeys oynasi")
oyna.geometry('400x250')
selected = IntVar()
rad1 = Radiobutton(oyna,text='Birinchi', value=1, variable=selected)
rad2 = Radiobutton(oyna,text='Ikkinchi', value=2, variable=selected)
rad3 = Radiobutton(oyna,text='Uchinchi', value=3, variable=selected)
btn = Button(oyna, text="Tanlang", command=clicked)
l

.10-rasm.
bl = Label(oyna)

rad1.grid(column=0, row=0)
rad2.grid(column=1, row=0)
rad3.grid(column=2, row=0)
btn.grid(column=3, row=0)
lbl.grid(column=0, row=1)
oyna.mainloop()
Har gal Radiobuttonlardan biri tanlanganda, oʻzgaruvchining tegishli qiymatii ekranga uzatiladi (.10-rasm).

ScrolledText (Tkinterning matnli sohasi) bilan ishlash


Interfeys oynasida maynli soha tashkil qilish uchun ScrolledText sinfidag scrolledText vidjetidan foydalanish mumkin. Bunda ikkinchi va uchinchi parametr sifatida matnli sohaning kengligi va balandligi koʻrsatiladi:


txt = scrolledtext.ScrolledText(oyna, width=X, height=Y).
A

.11-rasm.
gar sohaning kengligi va balandligi koʻrsatilmasa, interfeys oynasi toʻlaligcha matnli sohaga ajratiladi.

from tkinter import *
from tkinter import scrolledtext
oyna = Tk()
oyna.title("Bu-grafik interfeys oynasi")
oyna.geometry('400x250')
txt = scrolledtext.ScrolledText(oyna, width=40, height=10)
txt.grid(column=0, row=0)
oyna.mainloop()
Natijada interfeys oynasi .11-rasmdagi koʻrinishni oladi.
Scrolledtext oynasiga satrli ma’lumotlarni kiritish uchun
txt.insert(INSERT, 'matn satrlari')
funksiyasidan foydalanish mumkin.
Matni maydonni tozalash uchun delete() funksiyasidan foydalaniladi. Uning umumiy koʻrinishi quyidagicha:
Scrolledtext.delete(N, END).
Bu yerda N va END parametrlari tozalanishi lozim boʻlgan sohaning koordinatalari.

Qalqib chiquvchi ma’lumotlarni tashkil qilish


Foydalanuvchilarga interfeys oynasi bilan ishlashda qulaylik yaratish uchun sichqoncha strelkasi vidjetlar ustiga oʻtganda oynaga chiqariladigan qalqib chiquvchi ma’lumotlarni tashkil qilish mumkin. Buning uchun messagebox metodidan foydalanish mumkin:


from tkinter import messagebox
messagebox.showinfo('Sarlavha', 'Matn').
Quyidagi namuna .12a-rasmni hosil qiladi.
from tkinter import *
from tkinter import messagebox
def clicked():
messagebox.showinfo('Sarlavha', 'Matn')
oyna = Tk()
oyna.title("Bu-grafik interfeys oynasi")
oyna.geometry('400x250')
btn = Button(oyna, text='Tanlang', command=clicked)
btn.grid(column=0, row=0)
o

.12a-rasm. .12b-rasm.
yna.mainloop()

Interfeys oynasidagi “Tanlang” tugmasi chertilganda ekranda qalqib chiquvchi matn paydo boʻladi.
Huddi shu usul bilan koddagi istisnoli vaziyatlar haqidagi ogohlantirish va boshqa ma’lumotlarni oynaga uzatish mumkin. Bu maqsadda showwarning yoki showerror funksiyalaridan foydalanish lozim:
messagebox.showwarning('Sarlavha', 'Matn') # ogohlantirish chiqaradi
messagebox.showerror('Sarlavha', 'Matn') # hatolik haqidagi axborot.

Variantlardan birini tanlash oynasi


Interfeys oynasida foydalanuvchilarga “Ha/Yoʻq” qabilidagi variantli ma’lumotlarni taqdim etish uchun messageboxning quyidagi funksiyalaridan biriadn foydalanish mumkin:


res = messagebox.askquestion('Sarlavha', 'Matn')
res = messagebox.askyesno('Sarlavha', 'Matn')
res = messagebox.askyesnocancel('Sarlavha', 'Matn')
res = messagebox.askokcancel('Sarlavha', 'Matn')
res = messagebox.askretrycancel('Sarlavha', 'Matn').
Dasturchi axborot uzatishning bunday usullaridan birini ehtiyojiga koʻra tanlab qoʻllashi mumkin. Yuqorida keltrilgan namunadagi showinfo funksiyasini bu variantlardan biri bilan almashtirilsa, interfeys oynasida .13-rasm koʻrsatiladi. B

.13-rasm.
undan tashqari, qaysi variant tanlanganinin ham aniqlash mumkin. Agar
Да, Ok, Yes yoki Retry tugmalaridan biri tanlangan boʻlsa, funksiyaning qiymati – True, qolgan barcha hollarda – False. Yuqoridagi variantlardan faqat bittasi, ya’ni askyesnocancel funksiyasi True/False/None qabilidagi qiymatlardan birini qaytaradi.



Download 2,94 Mb.

Do'stlaringiz bilan baham:
1   ...   74   75   76   77   78   79   80   81   ...   117




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish