Antara elemen bentuk tetingkap antara muka pengguna, bidang pemilihan atau kemasukan data sangat penting. Pemprosesan nilai set mestilah seketika. Oleh itu, pembangun perlu menerima maklumat mengenai sebarang perubahan pada tetingkap. Dalam situasi yang berbeza, ketika membaca nilai medan, anda perlu mempertimbangkan jenis data tertentu dan ruang lingkup elemen borang.
Arahan
Langkah 1
Semasa mengembangkan aplikasi dengan perpustakaan pengaturcaraan Qt, bentuk tetingkap biasanya dibuat dari widget (kelas QWidget) atau dialog (QDialog). Elemen untuk pemilihan atau kemasukan data ditambahkan ke objek dari kelas yang ditentukan dan terletak secara visual pada kotak standard atau dialog.
Langkah 2
Gunakan kelas QComboBox untuk bekerja dengan senarai juntai bawah. Medan kerjanya yang kelihatan boleh aktif untuk kemasukan data atau terkunci. Sekiranya pengguna dapat memasukkan nilai di lapangan, anda boleh mendapatkannya dengan merujuk pada objek senarai. Contoh kod: QComboBox m_comb; Hasil QString; hasil = m_comb.currentText (); Di sini, objek m_comb menggunakan kaedah currentText () mengembalikan nilai semasa bidang teratas, dan ia boleh dimasukkan atau dipilih dalam menu lungsur senarai. Hasil pemboleh ubah rentetan mengandungi nilai dari medan kerja combobox yang kelihatan.
Langkah 3
Walau bagaimanapun, jenis data yang dimasukkan juga boleh berangka. Untuk menukar nilai rentetan ke jenis yang diperlukan, lakukan salah satu operasi berikut: double resD = result.toDouble (); float resF = result.toFloat (); int resI = result.toInt (); Di sini, nilai medan yang dihasilkan akan disimpan dalam pemboleh ubah resD, tetapi sudah ada dua kali ganda, dalam resF - nilai apungan, dan dalam resI - nilai integer int.
Langkah 4
Semasa menggunakan penyunting teks baris tunggal QLineEdit sebagai elemen kemasukan data, ambil maklumat yang anda perlukan dengan entri berikut: hasil = m_edit.text (). Di sini, objek m_edit, menggunakan fungsi teks (), mengembalikan nilai rentetan yang dimasukkan oleh pengguna ke lapangan.
Langkah 5
Elemen QListBox dapat melakukan fungsi serupa dalam bentuk jendela, akses ke data yang dimasukkan untuk objek ini juga serupa dengan yang ditentukan sebelumnya: m_list.currentText ().
Langkah 6
Semasa mengakses semua keadaan kelas yang dijelaskan, anda mesti mempunyai hak akses yang sesuai, kerana memanggil kaedah dan objek peribadi tidak mungkin dari fungsi pihak ketiga. Kaedah yang dipertimbangkan untuk mendapatkan nilai medan mempunyai status terbuka.