Qt   ラベル・ボタン・グリッド

ホーム   C/C++チュートリアル  

ラベル・ボタン・グリッド

今回は GUI アプリケーションに最低は必要だろうと思われるラベルとボタンを説明します。

そして、それらをレイアウトするものとしてグリッドもあわせて説明します。

count プロジェクト

count という作業用ディレクトリを作ってください。

そして、そこに次の count.cpp を記述して保存してください。

count.cpp


#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QGridLayout>

class Count : public QWidget
{
  //Q_OBJECT
  public:
    Count (QWidget *parent = nullptr);
  private slots:
    void Plus ();
    void Minus ();
  private:
    QLabel *lbl;
};

Count::Count (QWidget *parent)
: QWidget (parent)
{
  auto *plus  = new QPushButton ("+", this);
  auto *minus = new QPushButton ("-", this);
  lbl = new QLabel ("0", this);
  
  auto *grid = new QGridLayout (this);
  grid->addWidget (lbl,   0, 0, 1, 2);
  grid->addWidget (minus, 1, 0);
  grid->addWidget (plus,  1, 1);
  lbl->setAlignment (Qt::AlignCenter);
  
  setLayout (grid);

  connect (minus, &QPushButton::clicked, this, &Count::Minus);
  connect (plus,  &QPushButton::clicked, this, &Count::Plus );
}

void Count::Plus ()
{
  int val = lbl->text().toInt();
  val++;
  lbl->setText (QString::number (val));
}

void Count::Minus ()
{
  int val = lbl->text ().toInt ();
  val--;
  lbl->setText (QString::number (val));
}

int main (int argc, char *argv[])
{
  QApplication app (argc, argv);

  Count window;

  window.resize (300, 200);
  window.setWindowTitle ("Count");
  window.show ();

  return app.exec ();
}

ビルド

count ディレクトリで作業を続けます。

macOS Linux の場合


// プロジェクトを作ります。
qmake -project

// count.pro というファイルができていると思います。
// count.pro の末尾に次の行を追加してください。
QT += widgets

// Makefile を作ります。
qmake count.pro

// make します。
make

// コードにエラーがありましたら、コードを修正して再び make します。
// プロジェクトから作り直す必要はありません。

Windows の場合


// プロジェクトを作ります。
qmake -project

// count.pro というファイルができていると思います。
// count.pro の末尾に次の行を追加してください。
QT += widgets

// Makefile を作ります。
qmake

// nmake します。make じゃなく nmake です。
nmake

// コードにエラーがありましたら、コードを修正して再び nmake します。
// プロジェクトから作り直す必要はありません。

実行


// Mac の場合は、count ディレクトリに count.app ができていると思います。
// ターミナルで実行するには次のようにコマンドします。
./count.app/Contents/MacOS/count

// Linux の場合は、count という実行ファイルが出来上がっています。これをそのまま実行します。
./count

// Windows の場合は、
// count の中の release ディレクトリの中に count.exe が出来上がっています。

Mac の場合、count ディレクトリにできている count.app (count という名前になっています) をダブルクリックしても起動します。

他の場所、例えばデスクトップに持って行ってもダブルクリックで起動します。

Debian、Fedora、Kali の場合も、count ディレクトリにできている count をダブルクリックしても起動します。

他の場所、例えばデスクトップに持って行ってもダブルクリックで起動します。

Ubuntu、Mint はシステムに登録しないとダブルクリックでは起動できなかったと思います。

Windows の場合は、出来上がった count.exe は、どこに持って行ってもダブルクリックで起動できます。


64 visits
Posted: Mar. 25, 2025
Update: Mar. 30, 2025

ホーム   C/C++チュートリアル   目次