リナザウのソフトウェア開発


○ 第2章 ウィンドウを作成する「ウィンドウを作成する」






というわけで、開発環境も整いましたので、さっそく開発してみましょう!

まずは、ウィンドウを表示させる方法です。




<CPPファイル名 main.cpp>

#include <qpe/qpeapplication.h>   // 使用するクラスを指定する

#include "mainwindow.h"   // 使用するプログラムを指定する

int main(int argc, char *argv[])
{
	QPEApplication a(argc,argv);
	Mainwindow *mw = new Mainwindow();
	a.showMainWidget(mw);
	return a.exec();
}


(解説は、かきかけ)



<ヘッダーファイル名 mainwindow.h>

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <qmainwindow.h>   // 使用するクラスを指定する
#include <qapplication.h>
#include <qpushbutton.h>
#include <qtextcodec.h>
#include <qfont.h>

class Mainwindow : public QWidget{
	Q_OBJECT

public:
	Mainwindow(QWidget *parent = 0, const char *name = 0);

private:
	QTextCodec *codec; // テキストコーデック
	QPushButton *button; // ボタン
};

#endif //MAINWINDOW_H


(解説は、かきかけ)



<CPPファイル名 mainwindow.cpp>

#include "mainwindow.h"  // mainwindow.cpp のヘッダーファイル mainwindow.h を読み込み

Mainwindow::Mainwindow(QWidget *parent, const char *name)
		: QWidget(parent, name)
{
	// テキストコーデック「codec」を作成
	// 以降、codec->toUnicode("ここに書いたことは日本語で表示できる")
	codec = QTextCodec::codecForName("ShiftJIS");

	// ウィンドウのタイトルを設定
	setCaption(codec->toUnicode("サンプル1「ウィンドウを作成する」"));

	// 使用するフォントを設定
	QFont f("lcfont",18);
	setFont(f);

	// ボタン「button」を作成(「Quit」と表示されたボタン)
	button = new QPushButton(codec->toUnicode("Quit"), this);
	// ボタン「button」の配置位置を指定 setGeometry(配置x座標,配置y座標,ボタンの横幅,ボタンの縦幅)
	button -> setGeometry(200, 80, 70, 25);

	// 「button」が「clicked()(=押した)」されたら「qApp(=アプリケーション)」に対して「quit()(=終了)」を実行させる
	QObject::connect( button, SIGNAL(clicked()), qApp, SLOT(quit()) );
}


(解説は、かきかけ)




というわけで、さっそくコンパイルして実行してみましょう。
ここでは、「~/SLZaurus/」以下に「sample0001」フォルダを作成し、その中にソースがあることを前提にしています。


Cygwinを起動して、次のコマンドを実行してください。



. ~/SLZaurus/bin/dev-arm-qpe.sh
cd ~/SLZaurus/sample0001
progen -o sample0001.pro
tmake -o Makefile sample0001.pro
make



これでエラーが出なければ、「sample0001」というファイルがソースと同一のフォルダに作成されているので、それをリナザウに移してターミナルから実行してみてください。
エラーが出た場合は、もう一度ソースを見直して、問題のある個所を修正しましょう。問題のある個所は、「make」後のエラー情報でも最低限のことは提供されます。




なお、ここで作成したウィンドウは、これからやっていくことのベースとなるので、あなた自身でもいろいろ工夫して、ボタンなり他の部品なりをペタペタはりつけたりしてみてください。




<ソース>

sample0001.tar.gz




前へ ○○○ 「リナザウのソフトウェア開発」 ○○○ 次へ






inserted by FC2 system