Foydalanuvchi interfeysi oynasi shakli elementlari orasida tanlash yoki ma'lumotlarni kiritish maydonlari alohida ahamiyatga ega. Belgilangan qiymatlarni qayta ishlash ko'pincha bir zumda bo'lishi kerak. Shuning uchun, ishlab chiquvchi derazalardagi har qanday o'zgarish haqida ma'lumot olishi kerak. Turli vaziyatlarda, maydon qiymatini o'qiyotganda, siz ma'lum bir ma'lumotlar turini va shakl elementining hajmini hisobga olishingiz kerak.
Ko'rsatmalar
1-qadam
Qt dasturlash kutubxonasi bilan dasturlarni ishlab chiqishda oyna shakllari odatda vidjetlardan (QWidget klassi) yoki dialog oynalaridan (QDialog) yaratiladi. Tanlash yoki ma'lumotlarni kiritish uchun elementlar belgilangan sinflarning ob'ektlariga qo'shiladi va vizual ravishda standart yoki dialog oynasida joylashgan.
2-qadam
Ochiladigan ro'yxat bilan ishlash uchun QComboBox sinfidan foydalaning. Uning ko'rinadigan ish maydoni ma'lumotlar kiritish uchun faol bo'lishi yoki bloklanishi mumkin. Agar foydalanuvchi maydonga qiymat kiritishga qodir bo'lsa, unda siz ro'yxat ob'ektiga murojaat qilib uni olishingiz mumkin. Misol kodi: QComboBox m_comb; QString natijasi; natija = m_comb.currentText (); Bu erda m_comb ob'ekti currentText () usuli yordamida yuqori maydonning joriy qiymatini qaytaradi va u ochilishi mumkin bo'lgan maydonga kiritilishi yoki tanlanishi mumkin. ro'yxat. String o'zgaruvchisi natijasi kombinat qutisining ko'rinadigan ish maydonidagi qiymatni o'z ichiga oladi.
3-qadam
Shu bilan birga, kiritilgan ma'lumotlar turi ham raqamli bo'lishi mumkin. Satr qiymatlarini kerakli turga o'tkazish uchun quyidagi amallardan birini bajaring: double resD = result.toDouble (); float resF = result.toFloat (); int resI = result.toInt (); Bu erda olingan maydon qiymati resD o'zgaruvchisida saqlanadi, lekin allaqachon ikki baravar, resFda - suzuvchi qiymat va resIda - int integer qiymati.
4-qadam
Ma'lumotlarni kiritish elementi sifatida QLineEdit bitta qatorli matn muharriridan foydalanganda, kerakli yozuvni quyidagi yozuv bilan oling: result = m_edit.text (). Bu erda m_edit ob'ekti text () funktsiyasidan foydalangan holda foydalanuvchi tomonidan kiritilgan satr qiymatini maydonga qaytaradi.
5-qadam
QListBox elementi shunga o'xshash funktsiyani oynali shaklda bajarishi mumkin, ushbu ob'ekt uchun kiritilgan ma'lumotlarga kirish avval ko'rsatilganiga o'xshash: m_list.currentText ().
6-qadam
Ta'riflangan sinflarning barcha misollariga kirishda siz tegishli kirish huquqlariga ega bo'lishingiz kerak, chunki xususiy usullar va ob'ektlarni chaqirish uchinchi tomon funktsiyalaridan kelib chiqmaydi. Maydon qiymatini olishning ko'rib chiqilgan usullari ochiq holatga ega.