Posts Extractor: Aplikasi Qt dan API WordPress

Mari belajar Qt lagi. Contoh program Qt kali ini memanfaatkan REST API dari WordPress, yakni Posts API. Yang ini adalah API publik, kita tidak perlu otentikasi OAuth untuk mengaksesnya. Query yang dikirim adalah HTTP GET dan memberikan hasil data JSON.

Nah, contoh aplikasi Qt kali ini akan mengolah data JSON tersebut menjadi HTML atau teks biasa. Kelas-kelas penting yang dibutuhkan antara lain:

  1. QJsonDocument dan lainnya
  2. QWebView untuk menampilkan HTML
  3. QDateTime untuk manipulasi tanggal
  4. QListView untuk menampilkan daftar file dalam folder
  5. dll.

Beginilah tampilan aplikasinya:

Continue reading Posts Extractor: Aplikasi Qt dan API WordPress

Advertisements

Building Qt Framework from Source Menggunakan MinGW

Setelah sebelumnya saya mem-build Qt Framework dengan MS Visual C++ compiler, nah kali ini saya tulis yang pakai MinGW dan MSYS. Sudah lama juga blog ini tidak menulis tentang Qt.

Selayang pandang MinGW dan MSYS

MinGW adalah singkatan dari Minimalist GNU for Windows. Bisa ditebak apa isinya dari “GNU”-nya. Menurut dokumentasinya, maksudnya minimalis adalah bahwa MinGW tidak menyediakan lingkungan runtime POSIX. Tetapi MinGW menyertakan tool set opensource yang lengkap untuk development di lingkungan Windows.

msys logo icon
Ikon MSYS

Sedangkan MSYS adalah singkatan dari Minimal System, yang intinya adalah konsol shell untuk menjalankan baris perintah. Ya seperti CMD-nya Windows. Atau kalau di Linux dan Mac seperti Terminal. Nanti MSYS digunakan untuk menjalankan perintah-perintah untuk kompilasi source code Qt framework.

Mempersiapkan Peralatan

  1. Unduh MinGW yang ada di http://mingw-w64.sourceforge.net/
  2. Unduh MSYS dari http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
  3. Unduh source code Qt dari http://download.qt-project.org/archive/qt/5.3/5.3.2/single/
  4. Di sini saya hanya mengunduh ‘qtbase’ dari http://download.qt-project.org/archive/qt/5.3/5.3.2/submodules/ (hemat kuota internet šŸ˜€ )
  5. Di sistem saya sudah terinstall Python, Ruby dan (Active)Perl. Mungkin ketiganya perlu diinstal jika mem-build seluruh modul Qt, terutama Webkit.
  6. Instal OpenSSL atau kompil sendiri dari kode sumbernya. Pada tulisan yang lalu, ternyata saya tidak mengompilasi OpenSSL, sehingga aplikasi yang dihasilkan tidak bisa mengakses https.

Mengompilasi Kode Sumber

Pastikan semuanya siap, dan lihat apakah folder bin MinGW ada di PATH.

  1. Ekstrak source code Qt. Saya misalkan di D:/Develop/Qt-Lib/5.3.2/.
  2. Buka MSYS, pindah ke direktori source code barusan.
  3. Kita akan melakukan pseudo build, maka buat folder ‘build’ di situ >> mkdir build
  4. cd build
  5. Jalankan perintah:
    ../configure -opensource -confirm-license \
    -platform win32-g++ -prefix "D:/Develop/Qt-Lib/5.3.2/release" \
    -nomake examples -nomake tests -no-icu -openssl \
    -I "D:/Develop/openssl-1.0.1i/dist/include" \
    -L "D:/Develop/openssl-1.0.1i/dist/lib" -v
  6. Keterangan: -prefix adalah tempat hasil akhir kompilasi, semua akan disalin ke situ saat perintah make install. -no-icu sama seperti tulisan yang dulu, gunanya adalah menghilangkan dukungan Unicode. Lainnya sesuaikan.
  7. Pastikan tidak ada error. Lalu jalankan mingw32-make.exe (atau cukup ‘make‘)
  8. Jika sukses, jalankan mingw32-make.exe install
  9. Selesai

Sekarang tinggal menambahkan qmake hasil kompilasi ke Qt Creator. Jika folder bin hasil kompilasi itu ada di PATH sistem, maka Qt Creator akan mendeteksinya secara otomatis.

Untuk deployment, aplikasi membutuhkan 3 DLL dari MinGW, antara lain: libstdc++-6.dll libgcc_s_dw2-1.dll dan libwinpthread-1.dll.

dependency walker
Melihat dependensi pustaka aplikasi

Mengurai (Parsing) JSON Qt4 dengan QJson

Yuk belajar kiti lagi, eh maksudnya Qt (dibaca kyut). Pada tulisan terdahulu tentang Graph APIĀ Facebook, saya sudah menerapkan pengurai (parser) JSON dengan Qt 5. Kelas yang digunakan antara lain QJsonDocument, QJsonObject dan QJsonValue. Itu semua ternyata baru ada pada Qt 5. Maka jika saya mengompilasinya dengan qmake-qt4, pasti terjadi error.

Sebagai gantinya, untuk mengolah JSON di Qt 4, kita membutuhkan pustaka QJson yang bisa diunduh dariĀ http://qjson.sourceforge.net/. Jika pembaca menggunakan Qt di Windows, maka harus mengompilasi sendiri. Nah, kalau di Linux, terutama Ubuntu, QJson sudah ada di repositori sejak lama. Cukup instal libqjson0 dan libqjson-dev.

Continue reading Mengurai (Parsing) JSON Qt4 dengan QJson

Membuat Program Aplikasi dengan Qt dan Memanfaatkan Graph API Facebook

Melanjutkan eksplorasi pada pemrograman, di mana saya sudah memaparkannya pada PandalonĀ #40 bahwa saya memilih Qt Framework sebagai sarananya. Setelah melanglang buana di jagat Google untuk mencari ilham (tutorial šŸ˜€ Ā , akhirnya saya bisa menerapkan pengetahuan tersebut untuk belajar membuat proyek aplikasi. Dan saya rasa sudah saatnya saya berbagi pandalonĀ untuk hal ini. Pada proyek program pertama ini saya memanfaatkan pustaka class Networking (jaringan) pada Qt Framework. Yang mana saya gunakan juga untuk belajar memanfaatkan Graph API dari Facebook. Project ini saya namakan FaceFetch, deskripsinya saya jelaskan nanti. Pemilihan Graph API Facebook ini saya ambil dengan pertimbangan bahwa saat ini saya adalah Facebooker dan situs ini masih menjadi situs web nomor 1 di dunia, atau setidaknya di Indonesia. Lebih-lebih karena penggunanya yang banyak dan relatif selalu aktif mengakses Facebook.

Continue reading Membuat Program Aplikasi dengan Qt dan Memanfaatkan Graph API Facebook