Ro'yxatga olish tugmasi uyasi asosiy oyna uchun signal beradi:
Maydonlar uyalar maxsus kiritish nusxa:
Getters maxsus kirishni qaytaradi:
CheckPass funktsiyasi () trueagar foydalanuvchi maydonda parolni tasdiqlashda xato qilmasa, qaytib keladiconfirm:
ma'lumotlar bazasini ishga tushirish va ma'lumotlar bazasiga ulanish interfeysi
Ushbu bosqichda biz main_window fayli bilan ishlaymiz.cpp. Birinchidan, direktiv yordamida boshqa sinf fayllarini ulashimiz kerak#include:
Modul QtDebugkonsolda yoki vidjetda namoyish qilish o'rniga Qt Creator oynasida dastur xatolarini ko'rsatish uchun ishlatiladi.
Asosiy oynaning dizaynerida signallarni uyalar bilan ulashingiz va ma'lumotlar bazasiga ulanishingiz va unda yangi stol yaratishingiz mumkin. Kutubxona QtSqlbizga so'rovlar orqali tuzilgan xato xabarlariga kirish imkonini beradiQSqlQuery:
AuthorizeUser funktsiyasi () avtorizatsiya tugmasi signaliga ulangan. U foydalanuvchi kiritishini saqlab qoladi, undan db so'rovini tuzadi, saqlangan parolni Foydalanuvchining kiritgan muvofiqligi uchun tekshiradi va agar muvaffaqiyatli MainWindowbo'lsa, avvalgi sessiyadan saqlangan parametrlar bilan ochiladi:
Funktsiya registerWindowShow () signal ulangan register_button_clicked(). U avtorizatsiya oynasini yashiradi va ro'yxatdan o'tish oynasini chaqiradi:
RegisterUser funktsiyasi () ro'yxatga olish oynasida joylashgan ro'yxatga olish tugmasi signaliga ulangan. Maxsus kirish tekshiruvini amalga oshiradi, ma'lumotlar bazasidan yangi ro'yxatga olish raqamini oladi va foydalanuvchini qayd qiladi. nameYangi ma'lumotlar bazasini yaratishda maydon hech qanday identifikatorga ega emasligini sezishingiz mumkinunique, dasturning qolgan qismi ham ro'yxatdan o'tgan nomning o'ziga xosligi bo'yicha tekshiruvlarni amalga oshirmaydi:
Display method () avtorizatsiya oynasini chaqirish orqali asosiy oynaning chaqiruvini o'zgartiradi: Asosiy Oynani yo'q qilish, muvaffaqiyatli avtorizatsiya qilingan taqdirda, ma'lumotlar bazasida ro'yxatga olish mazmunini yangilaydi va ma'lumotlar bazasiga ulanishni to'xtatadi va keyin dastur oynalarini yo'q qiladi:
ConnectDB funktsiyasi () ma'lumotlar bazasi nomini o'rnatadi va u bilan aloqa o'rnatadi. Ushbu funktsiya birinchi marta bajarilgandan so'ng, dastur katalogida ma'lumotlar bazasi uchun bu erda ko'rsatilgan ismga ega fayl paydo bo'ladi:
C ++ / Qt5 bilan yozilgan avtorizatsiya/ro'yxatdan o'tish ilovamizning yakuniy natijasi: