Qt メモ

2018年12月5日

はじめに

GUI ライブラリ Qt のメモ。

環境

  • Ubuntu 16.04 LTS
  • Qt 5.x

Qt のインストール

Ubuntu 16.04 LTS で Qt をインストールするには、次のようにする。

$ sudo apt-get install qt5-default

Qt を用いたプログラムのコンパイル

コンパイルには qmake を使うが、Anaconda を入れているとそちらの邪魔されることがあるので注意。エイリアスを設定するなりして対処する。

alias qmake='/usr/bin/qmake'

プロジェクトのディレクトリを用意し、その中にソースコードを置く。

$ mkdir window
$ mv window.cxx window
$ cd window

qmake を実行。

$ qmake -project

プロジェクトファイル window.pro ができる。

window.pro

TEMPLATE = app
TARGET = window
INCLUDEPATH += .

# Input
SOURCES += window.cxx

以下の内容を追記。

QT += widgets
CONFIG += c++11

1 行目は Qt のウィジットを使うためのモジュールを追加している。2 行目は C++11 を使うための設定である。

オプションなしで qmake を実行。

$ qmake

Makefile ができる。make でコンパイル。

$ make

ウインドウ

ウインドウを表示するプログラム。

window.cxx

#include <QApplication>
#include <QMainWindow>
#include <QDesktopWidget>


class Main : public QMainWindow
{
public:
    Main()
    {
        this->setWindowTitle("window");

        this->resize(320, 240);
        this->centerOnScreen();
        this->show();
    }

    void centerOnScreen()
    {
        auto res = QDesktopWidget().screenGeometry();
        this->move((res.width()/2.) - (this->frameSize().width()/2.),
                (res.height()/2.) - (this->frameSize().height()/2.));
    }
};


int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    Main win;
    return app.exec();
}

3 行の include 分は、次のようにも書いてもよい。

#include <QtWidgets>