Hello World QT

halo, disini gw akan mengajarin bagaimana membuat GUI hello world di linux make QT sebelumnya ini info sistem operasi aku

system : Linux Mint 20.2 x86_64
arsitektur : 64 bit

dan ini info gcc/g++ aku (bisa dicek dengan g++ -v)

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 

ok, jadi mungkin di distro lain engga kompatibel :) ya coba coba gpp. pertama tama. silahkan install Qt nya melalui APT

1sudo apt-get install qt5-default

lalu, akan seperti ini Center

silahkan kamu tulis Y jika diminta konfirmasi akan penginstalan lalu silahkan tulis program berikut, dengan nama file main.cpp

1#include <QtCore>
2#include <iostream>
3
4int main() {
5    
6    std::cout << "Qt sekarang versi: " << qVersion() << std::endl;
7}

lalu kompilasi menggunakan G++ (bukan GCC)

1g++ -o version main.cpp -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -L/usr/lib/qt5 -lQt5Core -fPIC

lalu eksekusi hasil exeutable dengan ./version hasilnya : Qt sekarang versi: 5.12.8

ok, brati qt udah bisa dipasang, lalu sekarang kita membuat hello world nya, tulis program berikut ke main.cpp

 1#include <QApplication>
 2#include <QWidget>
 3
 4int main(int argc, char *argv[]) {
 5    
 6    QApplication app(argc, argv);
 7
 8    QWidget window;
 9
10    window.resize(400, 300);
11    window.setWindowTitle("Halo dunia :)");
12    window.show();
13
14    return app.exec();
15}

lalu kompilasi dulu dengan cara berikut, pertama kita gunakan qmake tool caranya

1qmake -project

lalu itu akan menghasilkan file .pro, klo disaya kayak gini file nya

 1######################################################################
 2# Automatically generated by qmake (3.1) Sat Sep 4 08:33:31 2021
 3######################################################################
 4
 5TEMPLATE = app
 6TARGET = guiku
 7INCLUDEPATH += .
 8
 9# The following define makes your compiler warn you if you use any
10# feature of Qt which has been marked as deprecated (the exact warnings
11# depend on your compiler). Please consult the documentation of the
12# deprecated API in order to know how to port your code away from it.
13DEFINES += QT_DEPRECATED_WARNINGS
14
15# You can also make your code fail to compile if you use deprecated APIs.
16# In order to do so, uncomment the following line.
17# You can also select to disable deprecated APIs only up to a certain version of Qt.
18#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
19
20# Input
21SOURCES += main.cpp

lalu setelahnya tulis qmake itu akan membuat makefile

lalu setelahnya cukup make mungkin kamu akan dapat error kayak gini

1Error QApplication: no such file or directory

nah, untuk mengatasinya, silahkan tambahkan

1QT += widgets

di akhir file pro nya lalu kompilasi ulang.

yang terakhir make

lalu eksekusi hasil output exeutable file nya dengan ./{nama folderaktif} atau bisa dengan hasil output exeutable file yang dihasilkan,

inilah hasilnya

Center