Samarqand davlat universiteti
Raqamli texnologiyalar fakulteti
Axborot tizimlarini matematik va
dasturiy ta’minoti yo’nalishi
210-guruh talabasining Dasturiy
Injenering fanidan
Loyiha ishi
Mavzu: Ma’lumotlarni jadvallar ko’rinishida tasvirlash.
Bajardi: Shokirov A’zamxon
T ekshirdi: Ibodilla Himmatov
Dasturiy injenering fanidan Malumotlarni jadvallar ko’rinishida tasvirlash(Jadval) lohiyasi
1.Masalaning qo’yilishi:
Malumotlarni juda qulay holatda tasvirlashimiz ular ustida kerakli amallarni bajarishimiz uchun eng qulay variantdagi loyiha.
2. Jadval loyihasini Qt Creator muhitida ishlab chiqish:
1) Qt Creatorni ishga tushiramiz;
2) Dastur uchun yangi nom kiritamiz;
3)Jadvalni yaratishimizdan oldin bizda bitta savol to’g’iladi yani biz qanday jadval yaratamiz? Judayam katta hajmdagi ma’lumotlar bilan ishlaydigan jadvalmi yoki o’rta darajadagi ya’ni oddiyroq jadvalmi?
4)Agar katta hajmdagi malumotlar bilan ishlaydigan jadval yaratadigan bo’lsak unda bizga Qt muhitini Kod yoziydigan(Formi) katalogini uzi yetadi. Biz faqat Formi katalogi orqali faqatgina kod yozish orqali jadvalimizni hosil qilamiz albatta bizga dizayn bo’limidan TableWidget tugmasini faollashtirib olishimiz kerak buladi kod yozishdan oldin;
5)Aks holda oddiyroq kichik hajmdagi ma’lumotlar bilan ishlaydigan jadval hosil qilmoqchi bo’lsak bizga faqat Qt muhitini dizayn qismi yetadi;
6)Shu 2 holatda bizga qaysi holatdagi jadval kerak bo’lsa uni hosil qilib olamiz;
7) Dasturimiz tayyor bo’lgandan so’ng biz dasturimizni ishlatib ko’ramiz;
8) Agar dasturimizda muammo va kamchiliklar yuzaga kelsa ularni bartaraf etamiz va dasturni qayta ishga tushiramiz;
3.Qt creator muhitida Jadval dasturini tuzish.
Qt creator muhitini ishga tushiramiz va ekranda quyidagicha oyna hosil bo’ladi;
Bu yerda biz strelkada ko’rsatilgan bo’limni tanlaymiz;
Shundan so’ng “Приложение” bo’limini tanlaymiz va uning ichidagi bo’limlardan esa “Приложение Qt Widgets” tanlab “Выбрать” tugmasini bosamiz;
Bu yerda “Назваие”-> buyrug’iga biz tuzayotgan dasturimiz nomini kiritamiz. A “Создат в” buyrug’i orqali esa siz tuzgan dasturingizni qayerga saqlashni tanlashingiz mumkun bunda biz “Обзор” buyrugini bosgan holda saqlashni amalga oshiramiz va tanlab bo’lgach “dale” tugmasini bosamiz;
Bu oynada esa shunchaki “dale” tugmasini bosish orqali keyingi oynaga o’tamiz;
Aynan shu oynamizda biz sinflar nomlarini o’zgartirishimiz mumkun ammo sinf nomini o’zgartirmasdan “dale” tugmasini bosib o’tkazib yuborsak bo’ladi;
Bu yerdan biz strelka bilan ko’rsatilgan buyruqni bosamiz va nihoyat dasturni tuzish oynasiga kelamiz;
Va biz bu yerdagi kataloglardan strelka bilan ko’rsatilgan “Formi” katalogiga kiramiz. Avvalambor shuni aytib o’tishimiz kerakki bu yerdagi kataloglar eng asosiy kataloglar hisoblanadi va har bir katalogning ichida 2 tadan yoki bittadan kataloglarga bo’linadi biz hozir bajarayotgan amalimizda yani “Formi” bo’limini ustiga 2 marta bosganimizda “mainwindow.ui” katalogi chiqadi biz aynan shu katalogdan dasturimizni Dizayn bo’limiga o’tamiz;
Hozircha biz quyida aytib o’tganimizdek 1-holat uchun yani Jadvalimizni kodlar yozish orqali hosil qilishni ko’rib o’tamiz;
Bu yerdan mana shu “TableWidget” ni maydonga mana shunday tarzda joylashtiramiz so’ng kod yozish katalogiga o’tamiz “Isxodniki” katalogidan “mainwindow.cpp” katalogiga o’tamiz;
Biz bu yerda jadvalimizni nechta satr va ustunini nechta bo’lishini mana shu 2 qator kod orqali hosil qilamiz;
ui->tableWidget->setRowCount(5);
ui->tableWidget->setColumnCount(4);
Jadvalimiz mana shunday tartibda hosil bo’ladi;
Agar biz exceldagiga o’xshash jadvalni hosil qilamiz desak unda mana shu kodlarni kiritishimiz kerak;
ui->tableWidget->
setHorizontalHeaderLabels(QStringList()<<"A"<<"B"<<"C"<<"D");
ui->tableWidget->setVerticalHeaderLabels(QStringList()<<"1"<<"2"<<"3"<<"4"<<"5");
Bu yerda “setHorizontalHeaderLabels” –degani bu Gorizontal satr buyicha ishlash imkonini beruvchi kod;
“setVerticalHeaderLabels” – esa Vertikal satr bilan ishlaymiz degani;
Dasturimiz natijasi mana bunday tarzda ekranda hosil bo’ladi;
Agar bizda tuzgan jadvalimizga biron rasm joylashtirmoqchi bo’lsak mana shunday kodni kiritamiz;
QTableWidgetItem *ph=new QTableWidgetItem;
QIcon icon("S:/файлы/azamxon/55665/tuplam/Rasmlar/5566.jpg");
ph->setIcon(icon);
ui->tableWidget->setItem(1,1,ph);
Siz ixtiyoriy rasmni uni qayerdaligini (manzil)ini aniq aytmasdan jadvalga joylashtira omaysiz;
N atija:
A gar bizda bir nechta jadvaldagi kataklarni birlashtirmoqchi bo’lsak uni ushbu buyruq orqali amalga oshiramiz;
ui->tableWidget->setSpan(2,2,3,3);
Endi agar siz biron katakni biron narsani belgilamoqchi bo’lsangiz RadioButton va CheckBox lardan foydalanishimiz mumkun;
RadioButton kodi:
QRadioButton *ar=new QRadioButton();
ar->setText("Rasm");
ui->tableWidget->setCellWidget(1,0,ar);
CheckBox kodi:
QCheckBox *as=new QCheckBox();
as->setText("Matn");
ui->tableWidget->setCellWidget(2,1,as);
Biz tuzgan jadvalimizga orqa fon quyishimiz mumkun bunda biz backgroundcolor buyrug’dan foydalanamiz;
QTableWidgetItem *kl=new QTableWidgetItem();
kl->setBackgroundColor(Qt::yellow);
ui->tableWidget->setItem(i,i,kl);
Endi 2-holatda yani jadvalimizni Faqat dizayn katalogimizdan yaratamiz;
Buning uchuun yana quyidagi “TableWidget” buyrug’imizdan foydalanamiz;
Bu yerdan biz sichqonchamizni o’ng tugmasini bosgan holda ushbu menyuyimizni hosi qilib oldik endi esa bu menyudan “Izmenet elementi” bo’limini tanlaymiz;
Va qarshingizda mana shunday oyna hosil bo’ladi bu yerda biz “Stolibsi” buyrug’ini tanlaymiz yani bu buyruq Jadvalimizdagi gorizontal satrlarimizni hosil qilishimiz mumkun buning uchun strelka bilan ko’rsatilgan “+” buyrug’ni bosamiz va uni biron son yoki Harflar bilan belgilan ketaveramiz va shu holatda gorizontal satrlarni hosil qilib olamiz;
Endi esa biz Vertikal satrlarimizni hosil qilishimiz kerak bo’ladi buning uchun “Stroki” buyrug’ini tanlaymiz va yana quyidagi gorizontal satrlarni hosil qilib olganimizdek uni ham shunday hosil qilamiz;
Siz qancha satr hosil qimoqchi bo’lsangiz “+” buyrug’I orqali shuncha son yoki hardlarni kiritishingiz mumkun;
Va bizda mana bunday jadval hosil qilib oldik;
Agar biz jadvalga rasm joylashtirishimizga tug’ri kelib qolsa uni albatta kod qismimizdan kiritamiz yoki checkbox va RadioButtonlarni ham kiritmoqchi bo’lsak quyidagi 1-holatimizdan keltirib o’tganimizdek yaratishimiz mumkun Dizayn qismimizda faqat tugmalarni joylashtirib quyishimiz mumkun xolos uni nma ish bajarishini esa kod qismimiz orqaligina taminlab berishimiz mumkun;
Bunda katakchalarni birlashtirish ham shular jumlasiga kiradi;
Dizayn qismimiz orqali biz “stileShet” buyrug’imiz orqali butun jadvalga rang berishimiz mumkun;
Buning uchun jadvalimiz ustiga sichqonchamizni o’ng tugmasini bosgan holda quyidagi menyini chiqarib olamiz;
Bu yerdan strelka bilan ko’rsatilgan buyruqni tanlaymiz;
Bu yerdan o’zimizga yoqqan rangni tanlaymiz agr bu yerdagi ranglar yoqmasa siz strelkada ko’rsatilgan buruqni tanlab uzezga yoqqan rangni tanlab olasz va “ok” tugmasini bosasz;
Va yana “ok” buyrug’ini bosasz;
Yana bir narsani aytib o’tishim lozim bizning jadvalimizdagi katakchalar razmerini o’zgartirishimiz mumkun buning uchun O’NG ustundagi kataloglardan
M ana bu katalog ichidagi katolglardan
Strelka bilan koo’rsatilgan sonni uzingiz xoxlagan holda o’zgartirishingiz mumkun albatta bu gorizontal katak uzunligi hisoblanadi;
Endi esa Vertikal katakcha uzunlugini o’zgartiramiz buning
Uchun biz mana shu strelka bilan ko’rsatilgan razmerni o’zimizni hohishimizga qarab o’zgartirib olamiz;
Mana mendagi o’zgarish siz uzingizga moslab bemalol o’zgartirib olishingiz mumkun;
Shu bilan dasturimiz tayyor bo’ladi agar dasturda xato va kamchiliklar bo’lsa uni to’g’irlab qaytadan ishlatib kuramiz;
Do'stlaringiz bilan baham: |