O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi qarshi davlat universiteti fizika matematika fakulteti


Python dasturlash tilining Tkinter moduli bilan ishlash



Download 1 Mb.
Pdf ko'rish
bet12/18
Sana14.07.2022
Hajmi1 Mb.
#798681
1   ...   8   9   10   11   12   13   14   15   ...   18
Bog'liq
elo

 
10.Python dasturlash tilining Tkinter moduli bilan ishlash
 
 
Tkinter - bu Python kutubxonasi bo'lib unda Tk kutubxonasidan foydalaniladi.. Tk kutubxonasida Tcl 
dasturlash tilida yozilgan grafik foydalanuvchi interfeysi (GUI) komponentlari mavjud. 
Grafik interfeys (GUI) - bu dasturni ochishda ekranda ko'riladigan barcha oynalar, tugmachalar, matn 
maydonlari, skrollerlar, ro'yxatlar, radio tugmalari, tasdiqlash knopkalari va boshqalarni yaratish 
mumkin . Ular orqali siz dastur bilan o'zaro aloqada bo'lib, uni boshqarasiz. Ushbu barcha interfeys 
elementlari vidjet deb nomlanadi. 
Ko'pgina GUI kutubxonalari mavjud, ulardan Tk eng ommabopi emas , garchi undan foydalanib juda 
ko'p loyihalar yozilgan. Bu Python uchun avtomatik ichiga joylashtirilgan kutubxona . 
Voqealarga asoslangan GUI dasturlari. Siz allaqachon tuzilgan va afzalroq ob'ektga yo'naltirilgan 
dasturlarni yaxshi bilishingiz kerak. Hodisalarga asoslangan voqealar yo'naltirilgan. Ya'ni, dastur 
kodining u yoki bu qismi u yoki bu voqea sodir bo'lgandagina bajarilishini boshlaydi. 


Voqealarga yo'naltirilgan dasturlash ob'ektga yo'naltirilgan va tuzilgan. Agar biz o'z sinflarimizni va 
ob'ektlarimizni yaratmasak ham, ulardan foydalanamiz. Barcha vidjetlar - bu o'rnatilgan sinflar 
tomonidan yaratilgan ob'ektlardir. 
Dasturlar doim xar xil tuzilishga ega bo'ladi. Masalan , kimdir sichqonchani bosdi yoki Enter 
tugmachasini bosdi, matn kiritishni boshladi, radio tugmachalarini almashtirdi, class larni ishgaa tushirai 
va hokazo. Bunday voqea sodir bo'lganda, tegishli ishlov beruvchi dastur yaratilsa, dasturning ma'lum 
qismi ishga tushiriladi va bu qandaydir natijaga olib keladi. 
Tkinter Python moduli uchun standart sifatida quyidagi usullardan biri bilan import qilinadi: 
• 
import tkinter 
• 
from tkinter import * 
• 
import tkinter as tk 
Aloxida sinflarni import qilish mumkin, bu kamdan-kam hollarda amalga oshiriladi. Ushbu kursda biz 
from tkinter import * dan foydalanamiz. 
Bundan tashqari, GUI dasturini yozish uchun quyidagilarni bajarishingiz kerak: 
1.Asosiy oynani yarating. 
2.Vidjetlarni yarating va ularning xususiyatlarini (variantlarini) sozlang. 
3.Hodisalarni aniqlang, ya'ni dastur nimaga javob beradi. 
4.Voqealar ishlovchilarini, ya'ni dastur qanday munosabatda bo'lishini tasvirlab bering. 
5.Vidjetlarni asosiy oynada joylashtiring. 
6.Hodisa tsiklini tuzing 
Zamonaviy operatsion tizimlarda har qanday foydalanuvchi ilovasi asosiy oyna deb atash mumkin 
bo'lgan oynaga kiritilgan, chunki boshqa barcha vidjetlar unda joylashgan. Yuqori darajadagi oyna 
ob'ekti tkinter modulining Tk sinfidan yaratiladi. Ob'ekt bilan bog'liq bo'lgan o'zgaruvchini 
ko'pincha root deyiladi: root = Tk() 


from tkinter import * 
root = Tk() #root 
root['bg'] ='#fafafa' #fon rangi 
root.title = "MALUMOT" #Oyna momi root.wm_attributes('-
alpha',0.8) #oyna yorugliligi root.geometry = ('400 x 400') 
#oyna o'lchami 
root.resizable(width = True, height = True) #oynani kattalashtirish yoki 
# kichiklashtirishni o'chirib ko'yamiz 
root.mainloop() 
1.
Kalkulyator dasturi 
from tkinter import * 
from decimal import * 
root = Tk() 
root.title('Kalkulyator') 
buttons = (('7', '8', '9', '/', '4'), 
('4', '5', '6', '*', '4'), 
('1', '2', '3', '-', '4'), 
('0', '.', '=', '+', '4') 

activeStr = '' 
stack = [] def 
calculate():
global stack
global label 
result = 0 
operand2 = Decimal(stack.pop())
operation = stack.pop() 
operand1 = Decimal(stack.pop()) 
if operation == '+': 
result = operand1 + operand2
if operation == '-': 
result = operand1 - operand2
if operation == '/': 
result = operand1 / operand2
if operation == '*': 


result = operand1 * operand2
label.configure(text=str(result)) 
def click(text): global activeStr
global stack if text == 'CE':
stack.clear() activeStr = ''
label.configure(text='0') elif '0' <= 
text <= '9': activeStr += text
label.configure(text=activeStr) elif 
text == '.': if activeStr.find('.') == 
-1: activeStr += text
label.configure(text=activeStr)
else: if len(stack) >= 2:
stack.append(label['text']) 
calculate()
stack.clear() 
stack.append(label['text']) 
activeStr = ''
if text != '=': 
stack.append(text)
else: if text != '=': 
stack.append(label['text'])
stack.append(text) 
activeStr = '' 
label.configure(text='0') 
label = Label(root, text='0', width=75) 
label.grid(row=0, column=0, columnspan=4, sticky="nsew") 
button = Button(root, text='CE', command=lambda text='CE': 
click(text)) button.grid(row=1, column=3, sticky="nsew") for row in 
range(4): for col in range(4): button = Button(root, 
text=buttons[row][col], 
command=lambda row=row, col=col: click(buttons[row][col]))
button.grid(row=row + 2, column=col, sticky="nsew") 
root.grid_rowconfigure(6, weight=1) 
root.grid_columnconfigure(4, weight=1) 
root.mainloop() 

Download 1 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   18




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