Ma’vzu: Vizual dasturlashda ma’lumotlar buferi bilan ishlash. Reja
Oynali loyiha yaratish va ular bilan ishlash
Download 1.9 Mb. Pdf ko'rish
|
24-Mavzu
Oynali loyiha yaratish va ular bilan ishlash.
Qt Creator muhitida Qt freimvorkidan foydalanib oddiy oynali dasturini yaratish uchun shunchaki Файл - Новый файл или Проект - приложение Qt Widjetsni tanlash va keyin loyiha fayllari joylashadigan joyni, asosiy oynaning klass nomini, uning asosiy sinfi va yaratilgan fayllarning nomlari; shuningdek, shakl(forma)ni yaratish so'raladi(30-rasm). 2. Xabar oynalari. QMessageBox xabar oynalari Ekranda xabarlarni aks ettirish uchun alohida dialog oynalarini yaratish shart emas, chunki buning uchun QMessageBox klassi tomonidan taqdim etilgan tayyor oynalardan foydalanish mumkin. Xabarlar oynasi matnli xabarni ko'rsatadigan va foydalanuvchidan javob kutadigan eng oddiy interfeys elementidir. Uning asosiy maqsadi ma'lum bir voqea haqida ma'lumot berishdir. QMessageBox klassi tomonidan ta'minlangan barcha oynalar modaldir. Ularda tugmalar, sarlavha va xabar matni bo'lishi mumkin.QMessageBox klassi xabarlar oynalarini yaratishda ishlatishin mumkin bo'lgan bir qator statik usullarni o'z ichiga oladi. Ushbu usullar uchta guruhga bo’lingan: • axborot, • ogohlantirish, • xavfdan ogohlantirish. Oynaning turi vaziyatga qarab tanlanadi. Oynalar uchta tugmani o'z ichiga olishi mumkin, bu juda qulaydir, chunki xabarni namoyish qilish uchun qo'shimcha kod yozishin shart bo’lmaydi. Bunday oynalarni nosozliklarni ko’rsatish uchun, kerakli ma'lumotlarni namoyish qilish va dasturni to'xtatib turish uchun ishlatish mumkin. Xabarlar oynasini quyidagicha amalga yaratish mumkin: QMessageBox* pmbx = new QMessageBox("MessageBox", "A Simple Message", QMessageBox::Information, QMessageBox::Yes, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape); int n = pmbx->exec(); delete pmbx; if (n == QMessageBox::Yes) { // Yes tugmasi bosilganda bajariladigan amal; } Ushbu oyna dinamik ravishda yaratiladi. Konstruktorning birinchi parametri oynaning sarlavhasidagi matnni, ikkinchi parametr esa HTML teglaridan foydalanishingiz mumkin bo'lgan xabar matnini o'z ichiga oladi. Uchinchi parametr chap tomonda ko'rsatilishi kerak bo'lgan oldindan belgilangan rasm(ikonka)ni belgilaydi. So'nggi uchta parametr dialog oynasida joylashtiriladigan tugmachalarni belgilaydi. So'nggi tugmachaga e'tibor bering: har doim Bekor qilish- Cancel tugmachasini < Escape > tugmasi sifatida belgilang, chunki foydalanuvchilar harakatni bekor qilish uchun buni tez-tez bosadilar. QMessageBox sinf ob'ektining exec() usuliga murojaat qilish asosiy dastur uchun xodisalarni qabul qilishni to'xtatadi va xabar oynasi tugmalaridan birini bosilishini kutadi. Tugmalardan biri bosilganda exec() usuli n o'zgaruvchisiga saqlanadigan tugma identifikatorini qaytaradi. delete operatori xabarlar oynasi vidjetini xotiradan o'chiradi. Dasturning If blokida bosilgan tugmachaning qiymatini Yes tugmachasining qiymatiga tengligi tekshiradi.Faylning boshiga #include Quyidagi #include Sinfning static funksiyalarining qo’llanilishi: QMessageBox::warning(this, "Внимание","Это очень важный текст\n www.itmathrepetitor.ru"); Natija: Warning o’rniga information, critical, question (va about, aboutQt)larni ishlatish mumkin. Misol: QMessageBox msgBox; msgBox.setWindowTitle("Пример"); msgBox.setText("Тестовое сообщение"); msgBox.exec(); Natija: Tanlov oynasi: QMessageBox msgBox; //www.itmathrepetitor.ru msgBox.setText("Внимательно прочтите!"); msgBox.setInformativeText("Ок – процесс пошел Cancel- замести следы"); msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); msgBox.setIcon(QMessageBox::Information); msgBox.setDefaultButton(QMessageBox::Ok); int res = msgBox.exec(); if (res == QMessageBox::Ok) // Ok tugmasi bosilganda doSomething(); else //отмена stopSomething(); // отмена bosilganda Natija: QMessageBox::Information ga misol ko’ramiz. Bundan tashqari QMessageBox::Question, QMessageBox::Warning, QMessageBox::Critical va QMessageBox::NoIcon kabi variantlar bo’lishi mumkin. Bunda ularni xabar oynasidagi rasm(ikonkalari) o’zgaradi. Ogohlantirish xabar oynasi Ogohlantirish xabar oynasini ekranga chiqarish uchun QMessageBox sinfining warning() metodidan foydalaniladi. Bunga misol sifatida quyidagi kodni ko’rsatish mumkin: int n = QMessageBox::warning(0, "Warning", "The text in the file has changed," "\n Do you want to save the changes?", "Yes", "No", QString(), 0, 1 ); if(!n) { // Saving the changes! } Faylning boshiga #include Kritik xabar oynasi Kritik xabarlar oynasini faqat jiddiy bir vaziyat yuz berganda ko'rsatilishi kerak. Uni namoyish qilish uchun critical() statik usulni ishlatish kerak, bunda uning birinchi parametrda voris vidjetiga ko'rsatgichni, ikkinchisida – sarlavha satrini va uchinchisida - xabarning o'zi kiritiladi. To'rtinchi, beshinchi va oltinchi parametrlarda butun sondagi tugma identifikatorlari kiritiladi: int n =QMessageBox::critical(0,"Attention", "This operation will make your " "computer unusable, continue?", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape ); if (n == QMessageBox::Yes) { // Do it! } Faylning boshiga #include About xabar oynasi About xabar oynasini ekranga dastur haqida umumiy ma’lumot:versiya,kontakt ma’lumotlari,avtorlik xuqulari to’g’risida va x.zlarni ko’rsatish uchun QMessageBox sinfining about() metodidan foydalaniladi. Birinchi parametr voris vidjetiga ko'rsatgich, ikkinchisi - oyna sarlavhasi, uchinchisi - xabarning o'zi. QMessageBox::about(0, "About", "My Program Version"); Faylning boshiga #include QErrorMessage xato xabar oynasi Xatolar xabari oynasi, boshqa barcha xabarlar oynalari singari QMessageBox sinfi tomonidan emas balki QErrorMessage sinfi yordamida amalga oshiriladi. Bu modal bo'lmagan dialog oynasidir. Xatolar xabari oynasini ko'rsatish uchun ushbu sinf ob'ekti yaratiladi va message() usuli chaqiriladi, unda xabar matni yuboriladi. Misol uchun: Oynada ushbu xato takrorlanganda ushbu xabarni qayta ko'rsatmaslik uchun foydalanuvchi tomonidan faollashtirilishi mumkin bo'lgan bayroq mavjud. Xato xabari oynasini suviste'mol qilish kerak emas va uni faqat foydalanuvchiga zarar etkazmagan hollarda qo'llash kerak. Bundan tashqari, ushbu Oynani kritik xatolar uchun qo'llash maqsadga muvofiqdir, chunki dasturni qayta ishga tushirgandan so'ng bayroq holati dastlabki holatga tiklanadi. Download 1.9 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling