Eslatma - Respublikasi axborot texnologiyalari va kommunikatsiyalarini

Eslatma: Kenglik va balandlik o'lchovlari uchun Tkinter platformalar bo'ylab dasturning izchil ishlashini ta'minlash uchun dyuym, santimetr yoki piksel o'rniga matn birliklaridan foydalanadi.
Belgining kengligi bo'yicha o'lchov birliklari vidjet o'lchami foydalanuvchi mashinasidagi standart shriftga nisbatan ekanligini anglatadi. Bu ilova qayerda ishlayotganidan qat'i nazar, matn teglar va tugmalarga to'g'ri mos kelishini ta'minlaydi.
Yorliqlar ba'zi matnlarni ko'rsatish uchun juda yaxshi, lekin ular foydalanuvchidan ma'lumot olishga yordam bermaydi. Siz o'rganadigan keyingi uchta vidjet foydalanuvchi ma'lumotlarini olish uchun ishlatiladi.
Reklamalarni olib tashlang
ButtonVidjetlar bilan bosiladigan tugmalarni ko'rsatish
Buttonvidjetlar tıklanabilir tugmalarni ko'rsatish uchun ishlatiladi . Siz ularni har bosilganda funksiyani chaqirish uchun sozlashingiz mumkin. Siz keyingi bo'limda tugmalarni bosish orqali funksiyalarni qanday chaqirishni ko'rib chiqasiz. Hozircha tugmani qanday yaratish va uslublashni ko'rib chiqing.
ButtonVidjetlar va vidjetlar o'rtasida juda ko'p o'xshashliklar mavjud Label. Ko'p jihatdan, tugma shunchaki bosishingiz mumkin bo'lgan yorliqdir! A yaratish va uslublash uchun foydalanadigan bir xil kalit so'z argumentlari vidjetlar Labelbilan ishlaydi Button. Misol uchun, quyidagi kod ko'k fon va sariq matnli tugmani yaratadi. Shuningdek, u mos ravishda kenglik va balandlikni 25va 5matn birliklarini o'rnatadi:
Bu tugma oynada qanday ko'rinishga ega:
Juda zo'r! Siz foydalanuvchidan matn kiritish uchun keyingi ikkita vidjetdan foydalanishingiz mumkin.
EntryVidjetlar yordamida foydalanuvchi ma'lumotlarini olish
Agar foydalanuvchidan ism yoki elektron pochta manzili kabi bir oz matn olishingiz kerak bo'lsa, vidjetdan foydalaning Entry. Unda foydalanuvchi matn kiritishi mumkin bo'lgan kichik matn maydonini ko'rsatadi . Vidjetni yaratish va uslublash xuddi vidjetlar Entrykabi ishlaydi . Misol uchun, quyidagi kod ko'k fon, biroz sariq matn va matn birliklarining kengligi bilan vidjet
yaratadi :LabelButton50
Vidjetlarning qiziq tomoni Entryularni qanday uslublashda emas.
Bu foydalanuvchidan ma'lumot olish uchun ulardan qanday foydalanish
. EntryVidjetlar yordamida uchta asosiy operatsiyani bajarishingiz mumkin :
bilan matn olinmoqda.get()
bilan matn o'chirilmoqda.delete()
bilan matn kiritish.insert()
Vidjetlar haqida tushunchaga ega bo‘lishning eng yaxshi usuli Entry- uni yaratish va u bilan ishlash. Python qobig'ini oching va ushbu bo'limdagi misollarga amal qiling. Birinchidan, import qiling tkinterva yangi oyna yarating:
Endi a va vidjet Labelyarating Entry:
LabelVidjetda qanday turdagi matn bo'lishi kerakligini tavsiflaydi Entry. ga
hech qanday talablarni qo'ymaydi Entry, lekin u foydalanuvchiga dasturingiz u
yerga qo'yishni kutayotgan narsalarni aytadi. .pack()Vidjetlar ko'rinadigan bo'lishi uchun oynaga kirishingiz kerak :
Bu nimaga o'xshaydi:
EntryE'tibor bering, Tkinter avtomatik ravishda oynadagi vidjet ustidagi yorliqni markazlashtiradi . Bu xususiyat bo'lib .pack(), u haqida keyingi bo'limlarda ko'proq bilib olasiz.
EntrySichqoncha bilan vidjet ichiga bosing va quyidagini kiriting Real Python:
Endi siz vidjetga bir nechta matn kiritdingiz Entry, lekin bu matn hali dasturingizga yuborilmagan. .get()Matnni olish va uni quyidagi o'zgaruvchiga belgilash uchun foydalanishingiz mumkin name:
Siz matnni ham o'chirishingiz mumkin. Bu .delete()usul Python-ga qaysi belgini
olib tashlash kerakligini aytadigan butun son argumentini oladi. Misol uchun, quyidagi kod bloki .delete(0)birinchi belgini qanday o'chirishini
ko'rsatadi Entry:
Vidjetda qolgan matn hozir eal Python:
E'tibor bering, xuddi Python string ob'ektlari kabi , vidjetdagi matn Entrybilan boshlab indekslanadi 0.
Agar siz dan bir nechta belgilarni olib tashlashingiz kerak bo'lsa , o'chirish to'xtatilishi kerak bo'lgan belgi indeksini ko'rsatish Entryuchun ikkinchi tamsayı argumentini o'tkazing . .delete()Misol uchun, quyidagi kod birinchi to'rtta harfni o'chiradi Entry:
Qolgan matn endi o'qiydi Python:
Entry.delete()xuddi ipni kesish kabi ishlaydi . Birinchi argument boshlang'ich indeksni aniqlaydi va o'chirish ikkinchi argument sifatida berilgan indeksni qo'shmasdan davomtk.END etadi. ning ikkinchi argumenti uchun maxsus konstantadan .delete()barcha matnni olib tashlash uchun foydalaning Entry:
Endi siz bo'sh matn maydonini ko'rasiz:
Spektrning qarama-qarshi tomonida siz vidjetga matn kiritishingiz mumkin Entry:
Endi oyna quyidagicha ko'rinadi:
Birinchi argument .insert()matnni qaerga kiritish kerakligini aytadi. Agar matn ichida matn boʻlmasa Entry, birinchi argument sifatida qaysi qiymatni kiritganingizdan qatʼiy nazar, yangi matn har doim vidjetning boshiga kiritiladi.
Misol uchun, yuqorida qilganingizdek, o'rniga birinchi argument sifatida .insert()qo'ng'iroq qilish bir xil natijani hosil qilgan bo'lar edi
|