[itk] Számítástechnika kezdőknek

Qt programozás kezdőknek - Helló Világ!

[2022. május 16.] [ christo161 ]

A Qt egy C++ keretrendszer, amiben elsősorban ablakos alkalmazásokat tudunk fejleszteni.

következő tananyagrész: -

Tartalom

  • parancssoros, ékezetes helló világ
  • ablakos hello world (QLabel)
  • ablakos hello world (QPushButton és QMessageBox)

Parancssoros, ékezetes helló világ

Az első projektünk egy parancssoros Hello World, ahol működnek az ékezetek.

Válasszuk a Fájl menüből a New File or Project menüpontot.

qt_new_console_project.png

 A megnyíló ablakból válasszuk a Qt Console Applicationt.

qt_new_console_project_qt_console_application.png

Adjunk nevet a projektnek.

qt_new_console_project_filename.png

Build systemnek válasszuk a qmake-t.

qt_new_console_project_build_system.png

Ha jól telepítettük a Qt Creatort, akkor valami ilyesmit látunk, és ki tudjuk választani a megfelelő kitet. Ha itt nem ezt látjuk, tekintsük át a Qt Creator telepítése és alapvető használata tananyagrészt.

A többi oldalon hagyhatunk nyugodtan mindent alapbeállítás szerint.

qt_new_console_project_kits.png

A main.cpp fájl tartalma legyen a következő:

#include <QTextStream>

int main(int argc, char *argv[]) {
  QTextStream out(stdout);

  QString str_example = QString::fromUtf8("Helló Világ!");

  out << str_example << '\n';
}

qt_new_console_project_hellovilag.png

Láthatjuk, hogy a Qt keretrendszert használva sokkal egyszerűbben működnek az ékezetek, mint a szabványos C++ esetén.

Ablakos hello world (QLabel)

Hozzunk létre egy új projektet.

qt_new_widget_project.png

Válasszuk a Qt Widgets Application-t.

qt_new_widget_project_2.png

Nevezzük el a projektet. A többi oldalon nyugodtan hagyhatunk mindent alapbeállítás szerint.

qt_new_widget_project_3.png

A main.cpp fájlba írjuk bele:

w.setWindowTitle("Hello World");

Ennek köszöhhetően tudjuk megváltoztatni az ablak tetejére írt nevet.

qt_set_windowtitle.png

A mainwindow.h fájlba az include direktívák közé írjuk be, hogy #include <QGridLayout> és #include <QLabel>

#include <QGridLayout>
#include <QLabel>

qt_include_qlabel.png

A mainwindow.cpp fálba MainWindow osztály konstruktorába írjuk a következőket:

QLabel* label_example = new QLabel(this);
label_example->setText("hello world");
QGridLayout *gl_example = new QGridLayout(centralWidget());
gl_example->addWidget(button_example, 0, 0, 1, 1, Qt::AlignCenter);

Mint láthatjuk, előbb létre kell hoznunk a grafikus felületi elemet, és csak utána adhatjuk hozzá a layouthoz. Ha hozzáadtuk a layouthoz, akkor jelenik meg.

 qt_addwidget_label.png

Az eredmény:

qt_hello_world_example.png

Ablakos hello world (QPushButton és QMessageBox)

Akár az előző projektet is módosíthatjuk, vagy létrehozhatunk egy új projektet.

A mainwindow.h fájlban az include direktívák között szerepeljen ez a három sor:

#include <QGridLayout>
#include <QPushButton>
#include <QMessageBox>

qt_include_qpushbutton.png

A mainwindow.cpp fájlba a MainWindow osztály konstruktorának végére írjuk a következőket:

QPushButton* button_example = new QPushButton(this);
button_example->setText("Click");
QGridLayout *gl_example = new QGridLayout(centralWidget());
gl_example->addWidget(button_example, 0, 0, 1, 1, Qt::AlignCenter);

QMessageBox* mb_example = new QMessageBox(QMessageBox::Information, "Information", "Hello, World!", QMessageBox::Ok, this);
connect(button_example, SIGNAL(clicked()), mb_example, SLOT(open()));

Ahhoz, hogy a gomra kattintáskor megnyíljon a messagebox, a connect utasítással hozzá kell rendelnünk a gomb clicked signáljához a messagebox megnyitásának slotját.

qt_connect.png

Az eredmény:

qt_hello_world_example_2.png

Ha a gombra kattintunk:

qt_hello_world_example_3.png 

következő tananyagrész: -

A bejegyzés trackback címe:

https://itkezdoknek.blog.hu/api/trackback/id/tr7617833019

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása