Saya telah belajar C ++ selama sekitar satu bulan sekarang, dan sebelum saya melangkah lebih jauh, saya ingin menjernihkan pertanyaan yang membosankan ini yang terus saya miliki. Saya tahu apa itu GUI, tapi saya tidak benar-benar tahu cara kerjanya, dan mungkin contoh yang populer?
Meskipun saya tahu pemrograman baris perintah adalah dasar-dasarnya, saya pikir itu akan menyenangkan bermain-main dengan GUI.
Meskipun saya memiliki sekitar 3 juta pertanyaan lain, saya akan menyelamatkan mereka: D
Jawaban:
Saya menggeneralisasi beberapa pustaka GUI tetapi pada level yang sangat tinggi konsep terpenting yang perlu Anda pahami adalah bahwa GUI dikendalikan oleh peristiwa .
Dalam aplikasi konsol, input pengguna Anda biasanya terjadi pada titik-titik tertentu yang Anda tetapkan. Anda meminta pengguna Anda, Anda menunggu inputnya, Anda menghitung sesuatu berdasarkan input itu. Salah satu perbedaan utama adalah bahwa input hanya terjadi di satu tempat, Anda membaca teks dari commandline (
stdin
dalam C ++).Dalam aplikasi GUI Anda biasanya memiliki beberapa tempat di mana input dapat terjadi, misalnya tombol yang melakukan tindakan atau bidang teks yang berbeda. Di sinilah peristiwa ikut bermain. Misalnya, mengklik tombol memicu suatu peristiwa. Acara ini perlu ditangani oleh pengendali acara , yang biasanya hanya metode yang mengambil objek acara dan dipanggil ketika even tersebut dipicu. Bagaimana tombol Anda tahu tentang pengendali acara? Anda biasanya berlangganan (atau mendengarkannya ).
Berikut ini adalah contoh "Terinspirasi C ++", ini bukan kode QT atau C ++ yang sebenarnya.
Saat Anda membuat Tombol, Anda mendaftarkan turunan dari kelas MyClickHandler terhadap tombol.
Sekarang setiap kali Tombol
b
diklik kotak pesan muncul mengatakan "Tombol Simpan telah diklik".Anda dapat membayangkan aplikasi GUI memiliki dua tahap:
Ini adalah contoh yang sangat sederhana, tetapi saya akan merekomendasikan dengan kerangka apa pun yang Anda ambil, Anda mencoba menampilkan kotak pesan ketika sebuah tombol diklik.
Untuk framework, ada banyak dari mereka di luar sana: Dalam kasus C ++ saya mungkin akan merekomendasikan Qt.
Satu kata nasihat terakhir: Jauhi desainer GUI sampai Anda benar-benar tahu apa yang terjadi di latar belakang. Tidaklah sulit untuk menulis beberapa contoh sederhana dan untuk memahami loop acara terlebih dahulu dan kemudian beralih ke tata letak yang lebih kompleks.
sumber
Sekarang adalah saat yang tepat untuk mempelajari program GUI. Seperti yang Anda ketahui C ++, saya akan merekomendasikan melihat QT. Dokumentasi yang bagus, basis pengguna yang sangat besar dan banyak contoh / tutorial yang tersedia untuk dipelajari.
sumber
Anda juga dapat mulai dengan Microsoft Visual Studio C ++ Express . IDE sangat ramah dan mudah digunakan (dan gratis!), Dan Anda akan dapat membuat aplikasi GUI pertama Anda dengan sangat cepat ... Yang akan membantu Anda berkonsentrasi pada pemahaman dasar-dasar pemrograman yang digerakkan oleh peristiwa , pendekatan yang berbeda yang perlu Anda kuasai.
Anda juga dapat langsung mulai dengan membangun aplikasi berbasis WPF, tetapi saya akan mulai dengan Windows Forms pada awalnya, yang merupakan salah satu teknologi yang kurang dapat dipahami karena itu hanya dasar C ++ dengan Microsoft Windows Forms API.
sumber
Mungkin lebih cocok untuk StackOverflow, ditandai c ++; tapi bagaimanapun juga.
Cari beberapa di Facebook; Qt, WxWidgets, WinFpi TheForgers, Fltk ...
GUI tidak terlalu sulit untuk digunakan, terutama sekali Anda sudah tahu c ++. Pergi dengan WxWidgets saya rasa; Qt agak terlalu rumit untuk pembelajaran satu bulan. Anda dapat mengambil Wx dalam beberapa jam.
sumber
Pengguna tidak suka hal-hal rumit. Konsol adalah hal yang rumit, itu sebabnya Anda harus membuat aplikasi GUI yang lebih ramah dan mudah dipahami. Inilah alasan paling jelas yang saya lihat. Anda dapat melihat gtk atau Qt - keduanya adalah yang paling populer.
sumber