1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

Mastering Qt5 読んでみた (QMainWindowで簡単なTODOアプリ作ろう前編)

はじめに

Qt5を体系的に学びたいな~と考えてたら下記の本があったので読んでみました。

Mastering Qt5(amazonリンク)

読んだことを忘備録的に残すため and ちょっとでも興味がある人に展開できたらと思い、qiitaに残します。
今回は、Mastering Qt5の導入部で行っていたTo Doリストアプリを作成したので前編/後編に分けて、それを紹介&解説します。

QMainWindow入門のためにTo Doアプリを作ってみる

QtでGUIを作成する場合、一番典型的なのがQMainWindowと呼ばれるベースコンポーネントを継承してcpp実装して書く場合です。
今回はこのQMainWindowを用いて簡単なTODOアプリを作成してみます。

実装内容

ファイル構造

"project root"
├todo.pro ←プロジェクト設定

├Sources
│├main.cpp ←main関数にて下記MainWindowクラスをコールするために使う
│└MainWindow.cpp ←本命。ここで主要な処理を記述する。

└Headers
 ├MainWindow.h
 └MainWindow.ui

コード
#include "MainWindow.h"
#include <QApplication>

int main(int argc, char *argv[]){
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
#include <QMainWindow>

namespace Ui {
class MainWindow;

}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private:
    Ui::MainWindow *ui;
};
実装内容解説

UML的に書くと下記の様になります。
先にも述べましたが、QMainWindowを継承してMainWindowというクラスを新設しここでTODOアプリの本実装をしてきます。
GUIの意匠的な部分はUi::MainWindowが担当し、QtDesignerでWYSIWYG的に編集します。

Image.png

まとめ

今回は、TODOアプリのスケルトンを作ってみました。
次の後編では中身を実装して見ます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?