Di antara elemen-elemen formulir jendela antarmuka pengguna, bidang pemilihan atau entri data sangat penting. Pemrosesan nilai yang ditetapkan seringkali harus seketika. Oleh karena itu, pengembang perlu menerima informasi tentang perubahan apa pun di windows. Dalam situasi yang berbeda, saat membaca nilai bidang, Anda perlu mempertimbangkan tipe data spesifik dan cakupan elemen formulir.
instruksi
Langkah 1
Saat mengembangkan aplikasi dengan pustaka pemrograman Qt, formulir jendela biasanya dibuat dari widget (kelas QWidget) atau dialog (QDialog). Elemen untuk seleksi atau entri data ditambahkan ke objek dari kelas yang ditentukan dan secara visual ditempatkan pada kotak standar atau dialog.
Langkah 2
Gunakan kelas QComboBox untuk bekerja dengan daftar dropdown. Bidang kerjanya yang terlihat dapat aktif untuk entri data atau terkunci. Jika pengguna dapat memasukkan nilai di bidang, maka Anda bisa mendapatkannya dengan merujuk ke objek daftar. Contoh kode: QComboBox m_comb; QString result; result = m_comb.currentText(); Di sini, objek m_comb menggunakan metode currentText() mengembalikan nilai saat ini dari bidang teratas, dan dapat dimasukkan atau dipilih di drop-down Daftar. Hasil variabel string berisi nilai dari bidang kerja kotak kombo yang terlihat.
Langkah 3
Namun, tipe data yang dimasukkan juga bisa numerik. Untuk mengonversi nilai string ke jenis yang diperlukan, lakukan salah satu operasi berikut: double resD = result.toDouble(); float resF = result.toFloat(); int resI = result.toInt(); Di sini, nilai bidang yang dihasilkan akan disimpan dalam variabel resD, tetapi sudah dalam dua kali lipat, dalam resF - nilai float, dan dalam resI - nilai integer int.
Langkah 4
Saat menggunakan editor teks baris tunggal QLineEdit sebagai elemen entri data, ambil informasi yang Anda butuhkan dengan entri berikut: result = m_edit.text (). Di sini, objek m_edit, menggunakan fungsi teks (), mengembalikan nilai string yang dimasukkan oleh pengguna ke dalam bidang.
Langkah 5
Elemen QListBox dapat melakukan fungsi serupa dalam bentuk berjendela, akses ke data yang dimasukkan untuk objek ini juga serupa dengan yang ditentukan sebelumnya: m_list.currentText ().
Langkah 6
Saat mengakses semua instance dari kelas yang dijelaskan, Anda harus memiliki hak akses yang sesuai, karena memanggil metode dan objek pribadi tidak mungkin dilakukan dari fungsi pihak ketiga. Metode yang dipertimbangkan untuk mendapatkan nilai bidang memiliki status terbuka.