Xulosa:
Ushbu kod oddiy GUI ilovasi bo'lib, foydalanuvchilarga xodimlar ro'yxatini
boshqarish imkonini beradi. Kod grafik foydalanuvchi interfeysini yaratish uchun
tkinter kutubxonasidan foydalanadi. Shuningdek, u tkinter-dan ttk modulini import
qiladi, bu esa yanada zamonaviy ko'rinishga ega bo'lgan tematik vidjetlarni taqdim
etadi. Kod asosiy dastur oynasini ifodalovchi XodimlarOyna nomli sinfni
belgilaydi. __init__ usuli oynani ishga tushiradi va uning sarlavhasini o'rnatadi. U
yana ikkita usulni chaqiradi:
ishtirok_baza va qiziqish_jadvalini_chiqar. Giriş_baza
usuli "xodimlar_baza.db" deb nomlangan SQLite ma'lumotlar bazasiga ulanishni
yaratadi va SQL so'rovlarini bajarish uchun kursor ob'ektini yaratadi. Keyin
ma'lumotlar bazasida kerakli jadvallarni yaratish uchun ba'zi SQL operatorlarini
bajaradi. Nihoyat, u o'zgarishlarni amalga oshiradi va ulanishni yopadi.
Yangilanish_jadvalini_chiqar usuli ma'lumotlar bazasidan xodim ma'lumotlarini
oladi va ularni Treeview vidjetida ko'rsatadi. U ma'lumotlar bazasiga ulanishni
yaratadi, "xodimlar" jadvalidan barcha qatorlarni olish uchun SELECT so'rovini
bajaradi va natijalarni oladi. Keyin u ishchi identifikatori, ismi, tashkiloti, manzili
va telefon raqami uchun ustunlar bilan Treeview vidjetini yaratadi. U ustunlar
uchun sarlavhalarni o'rnatadi va ishchi ma'lumotlarini Treeviewga kiritadi.
Nihoyat, u Treeview vidjetini asosiy dastur oynasiga joylashtiradi. Xodim_qoshish
usuli foydalanuvchi "Qo'shish" tugmasini bosganida chaqiriladi. U Toplevel klassi
yordamida yangi oyna yaratadi, uning sarlavhasini o'rnatadi va foydalanuvchiga
xodimlar ma'lumotlarini kiritishi uchun bir nechta teglar va kirish maydonlarini
yaratadi. Shuningdek, u xodim uchun tashkilotni tanlash uchun Combobox
vidjetini yaratadi. Combobox uchun qiymatlar get_tashkilot_values usuli
yordamida ma'lumotlar bazasidan olinadi. Usul shuningdek, foydalanuvchi yangi
oynada "Qo'shish" tugmasini bosganida chaqiriladigan insert_data deb nomlangan
ichki funktsiyani belgilaydi. Bu funksiya foydalanuvchi tomonidan kiritilgan
qiymatlarni oladi, ularni ma'lumotlar bazasiga kiritadi va asosiy oynada xodimlar
ro'yxatini yangilaydi. Nihoyat, usul vidjetlarni yangi oynaga to'playdi.
get_tashkilot_values usuli ma'lumotlar bazasidan tashkilot nomlarini oladi va
ularni ro'yxat sifatida qaytaradi. U ma'lumotlar bazasiga ulanishni yaratadi,
"tashkilotlar" jadvalidan "nomi" ustunini olish uchun SELECT so'rovini bajaradi
va natijalarni oladi. Keyin ulanishni yopadi va tashkilot nomlarini qaytaradi.
Get_or_add_tashkilot usuli maʼlumotlar bazasidan tashkilot identifikatorini olish
uchun xodim_qoshish usuli bilan chaqiriladi. Parametr sifatida kursor obyekti va
tashkilot nomini oladi. U ma'lumotlar bazasida tashkilot mavjudligini tekshirish
uchun SELECT so'rovini bajaradi. Agar shunday bo'lsa, u mavjud tashkilotning
identifikatorini qaytaradi. Agar shunday bo'lmasa, u tashkilotni ma'lumotlar
bazasiga kiritadi va yangi kiritilgan qatorning identifikatorini qaytaradi.
add_new_company usuli foydalanuvchi yangi xodim oynasida "+" tugmasini
bosganida chaqiriladi.
U Toplevel klassi yordamida yangi oyna yaratadi va uning
sarlavhasini belgilaydi. U foydalanuvchi yangi tashkilot nomini kiritishi uchun
yorliq va kirish maydonini yaratadi. Shuningdek, u insert_company deb nomlangan
ichki funktsiyani belgilaydi, bu foydalanuvchi yangi oynada "Qo'shish" tugmasini
bosganida chaqiriladi. Ushbu funktsiya foydalanuvchi tomonidan kiritilgan yangi
tashkilot nomini oladi, uni ma'lumotlar bazasiga kiritadi, xodimlar oynasida
tashkilot ro'yxatini yangilaydi va yangi qo'shilgan tashkilotni Combobox-da
tanlangan qiymat sifatida o'rnatadi. Nihoyat, usul vidjetlarni yangi oynaga
to'playdi. Kodning oxirgi qismi dasturning asosiy oynasini ifodalovchi Tk sinfining
namunasini yaratadi. U asosiy oynani argument sifatida uzatib, XodimlarOyna
sinfining namunasini yaratadi. Nihoyat, u asosiy oynaning mainloop usuli
yordamida asosiy voqea siklini boshlaydi.
Kodni o'rganish va tahlil qilish uchun
quyidagi xulosa:
Ma'lumotlar Bazasi Tuzilishi: Kod ma'lumotlar bazasini yaratadi. "xodimlar" va
"tashkilotlar" nomli ikkita jadvallar mavjud. "xodimlar" jadvalida xodimlar haqida
ma'lumotlar, "tashkilotlar" jadvalida esa tashkilotlar haqida ma'lumotlar saqlanadi.
Xodimlar Jadvalini Chiqarish: "xodimlar_jadvalini_chiqar" metodida xodimlar
jadvali Treeview komponenti orqali oynada chiqariladi.
Xodim Qo'shish: "xodim_qoshish" metodida yangi xodim qo'shish uchun yangi
oyna ochiladi. Bu oynada xodimning ismi, tashkilot nomi, manzili, va telefon
raqami kiritiladi. Tashkilot nomini kiritish uchun esa "Combobox" va "+ (plus)"
tugmalaridan foydalaniladi. "Add" tugmasi bosganda ma'lumotlar bazasiga yangi
xodim qo'shiladi va input oynasi yopiladi.
Tashkilot Nomini Qo'shish: "add_new_company" metodida yangi tashkilot
qo'shish uchun oyna ochiladi. Bu oynada yangi tashkilot nomini kiritish uchun
"Entry" mavjud va "Add" tugmasi bosilganda yangi tashkilot ma'lumotlar bazasiga
qo'shiladi.
Tashkilot Nomlarini Olish: "get_tashkilot_values" metodida tashkilot nomlari
olinadi. Bu nomlar "Combobox"ga kiritiladi va yangi tashkilot qo'shish uchun
ishlatiladi.
Yangi Tashkilotni Qo'shish va Olish: "get_or_add_tashkilot" metodida tashkilot
nomini bazadan olish yoki qo'shish amalga oshiriladi.
Sizning kodingizda ma'lumotlar bazasida xodimlar va tashkilotlar orasida
bog'lovchilar bor. Foydalanuvchi xodim qo'shishda tashkilot tanlash uchun
"Combobox"dan foydalanilgan. Kod ma'lumotlarni saqlash, tahrirlash va yangi
xodim qo'shishda yaxshi organizatsiya bo'lgan muhim qismlarni o'z ichiga oladi.
Ular o'zgarishlarga tayyor bo'lib, sizning talablaringiz va dastur fungsionalligini
o'zgartirishlaringizni qo'llay oladi
Foydalanilgan adabiyotlar ro’yxati:
1.https://www.w3school.com
2.
https://realpython.com/python-gui-tkinter/
3.
https://www.geeksforgeeks.org/python-tkinter-tutorial/
4.
https://www.pythontutorial.net/tkinter/
5.
https://docs.python.org/3/library/tkinter.html
6.
https://www.tutorialspoint.com/python/
7.Abbosbek Ibragimovning Phyton Tkinter Dasturlash kitobi
|