忍者ブログ

プログラム関連~チラシの裏~

スパム対策したりプログラム組んだり色々やってる為替とは別の面を表に出してみた。

<< | 2018/10 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | >>

マイクロアド リンク

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

QFileDialogでファイル名取得

QFileDialogを利用したサンプルを作成してみました。
WindowsAPIでいう所GetOpenFileNameとGetSaveFileNameを簡単に設定できるようにした機能です。
MFCでいうならGetOpenFIleDialogだったかな?

では、ファイルオープンのダイアログを表示する。サンプル。

●フィルタリストの作成をします。ファイルを開く時などのダイアログで
Bitmapファイルだけ表示したり、jpgだけ表示したりする時に活用できます。
-- 以下ソース--
// ファイルのフィルタリスト
QStringList fileFilterList;
fileFilterList += tr("ALL IMAGE FILE (*.bmp *.png *.jpg *.jpeg *.xpm *.xbm *.ppm)");
fileFilterList += tr("Windows Bitmap (*.bmp)");
fileFilterList += tr("PNG (*.png)");
fileFilterList += tr("JPEG (*.jpg *.jpeg)");
fileFilterList += tr("XPM (*.xpm)");
fileFilterList += tr("XBM (*.xbm)");
fileFilterList += tr("PPM (*.ppm)");
fileFilterList += tr("All Files (*.*)");
●ダイアログの作成と設定。
コンストラクタで一度に色々と設定する方法。
デフォルトでQWidget*とQFileDialog::AcceptOpenかAcceptSaveを指定して
簡単に作り出す方法の2種類があります。
しかし、実用性があるのは面倒な設定を行う方法です。
QFileDialogのコンストラクタで親Widget,ダイアログタイトル、初期ディレクトリの設定、フィルタリスト。
の設定を行うのがいいでしょう。また、フィルタは後からも設定できます。
ちなみにQStringでフィルタを作成する場合は;;で区切りを作成します。
-- 以下ソース--

// ファイルオープン用のダイアログ作成
QFileDialog *openDlg = new QFileDialog(
        this,// 親widget 
tr("Open File"),// ダイアログタイトル QDir::currentPath());// 起動時のディレクトリ // ファイルフィルターを設定します デフォルトはリストの最初。 openDlg->setNameFilters(fileFilterList); // 保存ダイアログとオープンダイアログの設定 デフォルOPEN openDlg->setAcceptMode(QFileDialog::AcceptOpen); QStringList fileNames;// ファイル名の取得 // ファイル名を取得するとリストにつかされます。 if(openDlg->exec()){ // ファイルリストの取得。 fileNames = openDlg->selectedFiles(); } // 開いたファイル名をステータスバーに表示 ui.statusbar->showMessage(fileNames.at(0)); // ファイル名取得複数ファイルある場合は、foreach等で取得するといい。 if(fileNames.size()){ // 画像ファイルをQLabelに設定してイメージサイズを設定する。 QPixmap image(fileNames.at(0)); imageLabel->setPixmap(image); imageLabel->resize(image.size()); } delete (openDlg);//最後にダイアログを削除。

●ファイルを保存する場合
ファイルを保存する場合も同じQFileDialogを使います。
// 保存ダイアログを使用します
QFileDialog *saveDlg = new QFileDialog(
        this,//親widget
        tr("Save File"),// ダイアログタイトル
        QDir::currentPath()// 保存パス
        );
QStringList saveFilterList = fileFilterList;
saveFilterList.takeFirst();// ALL IMAGEを除去
saveFilterList.takeLast();// ALL FILEを除去
saveDlg->setNameFilters(saveFilterList);
// 自動で拡張子をファイル名に設定します デフォルト true
saveDlg->setNameFilterDetailsVisible(false);
// 保存ダイアログとして設定
saveDlg->setAcceptMode(QFileDialog::AcceptSave);
// 上書き保存時のメッセージフラグ デフォルトtrue
saveDlg->setConfirmOverwrite(true);

QStringList fileNames;
// 保存ファイル名を取得する
if(saveDlg->exec()){
    fileNames = saveDlg->selectedFiles();
}

// ファイル名取得複数ファイルある場合は、foreach等で取得するといい。
const QPixmap *savePixmap = imageLabel->pixmap();
if(fileNames.size() && (0 != savePixmap)){
    QString filter = saveDlg->selectedNameFilter();
    QString type = "BMP";
    if(tr("Windows Bitmap (*.bmp)") == filter){
        type = "BMP";
    }else if(tr("PNG (*.png)") == filter){
        type = "PNG";
    }else if(tr("JPEG (*.jpg *.jpeg)") == filter){
        type = "JPG";
    }else if(tr("XPM (*.xpm)") == filter){
        type = "XPM";
    }else if(tr("XBM (*.xbm)") == filter){
        type = "XBM";
    }else if(tr("PPM (*.ppm)") == filter){
        type = "PPM";
    }
    // Labelに設定したPixmapを保存します。
     savePixmap->save(fileNames.at(0), type.toLocal8Bit());
    // 保存するファイル名をステータスバーに表示
    ui.statusbar->showMessage(fileNames.at(0));
}

delete (saveDlg);

なんか、変なファイルツールでダウンロードを連続する人がいて警告メールもらってるので
1クッションおく形に変更させてもらいます。すんまそん!

PR

eventFilterを使ってみた

QObjectを継承したQWidget系のクラスはeventFilterでイベントを監視する事が可能。
つまり、エディットボックスやコンボボックスに来たイベントを実行する前に「監視」できる。
なるほど、これは便利。というか、仕事上じゃ必須か・・・。
たとえば、リストボックスでリストを選択したときに来るマウスイベントを取得して強制キャンセル。
使い方は色々ある。
tabキーを押したときにフォーカスを変更したりできるのかも~。
※キー入力はkeypressEventというのがあるので
なんていろいろ考えてみました。

というわけで、色々操作したときに来るイベントをeventFilter上で監視してコンソールに表示するサンプル。
エデットボックスのクラスポインタ等をinstallEventFilterして
イベントが来る前に表示するクラスにしてみました。 

--一応イベントフィルタの使い方--
QObject(監視したい対象A) -> installEventFilter( eventFilterにQEventを発行する対象B );
これで、BのクラスにeventFilterを用意するだけでAのイベントを取得する事ができます。
サンプルコードの中にある通りです。
イベントフィルタを消したいときはremoveEventFilterをインストールと同じ方法で呼び出すだけ。 

イベントフィルタの監視対象になった物はイベントが来るたびに、
eventFilterに飛ばされます。
だからQObjectクラスにあるvirtualのeventFilterの中身を作くれば監視可能。
そして戻り値でeventを実行するか判別する事ができる。
trueならフィルタしeventを発行しない。
だから、mouseイベントが来たときにtureの戻り値になるようにすれば
マウスイベントを無視する設定にもできる。

virtual bool QObject::eventFilter(QObject *obj, QEvent *event)
第一引数はイベントを受けるQObject。
第二引数は発行されるイベント。
イベント監視クラスをQObjectを継承して作って監視する。

キーイベント
色々やったがTABでフォーカスを移動した場合。
あれ?フォーカスが変わるイベントが来るわけでもない。
eventFilterに対してキーイベントがきていない件。

●マウス操作を使ったときのイベント 赤文字は4.4.0で追加されたものです。

QEvent->type() 番号 説明
MouseButtonPress 2 左右に関係なくマウスボタンを押した場合。
QMouseEventにキャスト可能。
MouseButtonRelease 3 マウスを離した場合。Pressの後にくる。
QMouseEventにキャスト可能。
MouseButtonDblClick 4 ダブルクリック時にくる。PressとReleaseにもメッセージが飛びます。
QMouseEventにキャスト可能。
MouseMove 5 マウス移動した場合。マウスボタンを押してるときのみ。
QMouseEventにキャスト可能。
Enter 10 マウスカーソルがQWidgetの矩形内に入った場合。
Leave 11 マウスカーソルがQWidgetの矩形外に出た場合。
Wheel 31 マウスの真中にあるホイールを回転させた場合。
QWheelEventにキャスト可能。
ContextMenu 82 マウスで右クリックをした場合。
ポップアップメニューを出すためにある模様。
ToolTip 110 マウスを同じ位置に置いておくと出る小さなヘルプです。
QLabel等のWidget上にマウスカーソルを乗せたままで発行。
発行後はマウスカーソルがLeave(11)するまでMouseMove(5)の変わりに発行されつづけます。QHelpEventにキャストしマウス座標取得可能。
NonClientAreaMouseMove 173 ウィンドウとして使うWidgetに来るメッセージです。
タイトルバーやウィンドウサイズを変更する場合のライン上でメッセージが来ます。ほかにメッセージが来る場所があるかもしれない。
マウス座標はクライアント領域から判定するのでマイナス値来ます。
NonClientAreaMouseButtonPress 174 ウィンドウとして使うWidgetに来るメッセージです。
NonClientAreaMouseMoveと同じ条件でメッセージが来ます。
ToolTipChange 184 ツールチップを変更した場合にくるらしいが・・・
ツールチップを表示するプログラムにしないと効果が無い。
4.4.0以降に追加された。

今のところ、QLabelにeventFilterを入れて見張った所。
多くのイベントが到着してる事がわかった。マウスの動作をまとめてみて何が起きるのかチェックしました。
といっても、みんな知ってるか。

●キー入力時に来るイベント


---サンプルコードの使い方---
mainで監視対象のQObjectを作る前に
MessageChecker Message;でオブジェクトを作成する。
↑使い方を考え直して、staticで絶対的なオブジェクトつくったので不用になった。

あとは、インストールするQObjectに対して
MessageChecker::Install(ui.inputLabe1);を呼ぶ。
これでメッセージ表記するようになります。
あと、Windows環境ではメッセージが表示されないので
*.proファイルのなかにCONFIG += consoleを追加してください。

詳しい中身はソースコード見てください。
Asisstantのヘルプみながらやるといいかもしれません。

メッセージチェッカーサンプルコード(zip)
一応、マウスイベントのみ全て見地。
関係ないイベントは番号で表示するようになってます。
たまにバージョンアップしとります。

QT 4.4 RC1が公開されてた

QTの使い方がイマイチのままだったので色々と調べてました。
気づいたらQT4.4が公開されている。4.3.4と何が変わったんだろう。
英語みるとWindowsCEに対応したらしい。
あと、マルチメディアがどうのこうの?
また、英語力の無さが打撃を与えてきます。
正直な所、英語力が全く無いと使えないツールでございます。

GUIツールキット「Qt 4.4」のリリース候補が公開 - Windows CEをサポート[マイコミジャーナル]
正直、トロールテックは日本語環境に関して努力を一切しない。
ヘルプも全部英語。
どんなにあがいても
「1億人しか居ない相手に対してサポートする必要なんてありませんねwwwwプギャーww」
という事でしょう。
それでも仕事で使わなければならない人のために調べておくか。

・動作環境
 Windows CEを追加。何故?

・XMLの強化
 DOMだと全部読み込んでからの処理。
 SAXだと1行づつ読む。
 タグ最初、アトリビュート、中身、最後。
 なんか1つづつ使うんだよね。QXmlDefaultHandlerのクラスを継承して読み取り部分つくる。
 個人で調べたから間違ってるかもしれないけど。何か簡単になったのか?
 ただ使うだけならDOMのほうが楽。
 ただし、簡単だとは思えないので簡単とは言わないw
 
・???
 Mac OS XデフォルトのWebブラウザ「Safari」のほか、Adobe AIRやGnome Epiphanyに採用されている
 オープンソースのHTMLレンダリングエンジン「WebKit」を統合、「Qt WebKit」として実装することに
 より、Safari 3との互換性を備えた。

という事らしいが、何ができるんだ?
なんか記事だけ読んでも先に進まないので実際にダウンロードしてみる。 

Download Qt 4.4 Release Candidate
117Mあるよ。ダウンロードは覚悟するんだ。
Qt 4.4 Release Candidate: Windows Source Package (MinGW users: Please download the MinGW package)
↑のがWindows用。
つづいて、LinuxやWindowsCE用と色々あります。
CEが追加されたんだからCE版やれよ!ってことですがCEもってないw

あと、一番下にQt Eclipse Integration for Windowsというのがあってエクリプス対応したファイル落とせる。
これ設定すればデバッガつかえるのか?
使い方を調べろってことですけど。
エクリプス自体をインストールしてないので何ともいえませんが。
※RC1なので正式リリースしたら無くなるかもしれない。
冒険するためだけに使うならいいとおもう。
仕事の上で新しく対応したものを利用して何かする!!という人用だけかも。


QT/Windows(OpenSource)4.3.4のセットアップ~その1~
QT/Windows(OpenSource)4.3.4のセットアップ~その2~
以前のセットアップ方法が役に立つ?
なんておもってましたが、ダウンロードできるのはZIPだけ。
たぶん、ビルドからやる事になると思います。
ダウンロードが終わらない罠。

セットアップおわったら続きかいてみます。
1.ZIPを解凍。
2.とりあえず、C:\qt\4.4RC1にコピー
 binの中身は空。なにもなかった。
3.minGWでビルド。
 C:\Qt4.4RC1\bin\qtvars.bat compile_debug
※QTのライブラリを入れた中のbinにqtvars.batを作る。
4.適当にENTERおしてyを押す。
ビルド開始。
※環境はWindows2000のSP4+MinGW
VC6.0以降は貧乏で買ってない。つまりフリーでしかできん。
たぶん2005等でやれって話なんですが、MinGWに頼るしかないなり。
※MinGWは4.3.4をセットアップするときにダウンロードします。

qtvers.batの中身だけさらしておく。
C:\qt\4.4RC1\bin\qtvars.batのなかみ
@echo off
rem
rem This file is generated
rem

echo Setting up a MinGW/Qt only environment...
echo -- QTDIR set to C:\Qt\4.4RC1
echo -- PATH set to C:\Qt\4.4RC1\bin
echo -- Adding C:\MinGW\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-g++

set INCLUDE=C:\MinGW\include
set LIB=C:\MinGW\lib
set QTDIR=C:\Qt\4.4RC1
set PATH=C:\Qt\4.4RC1\bin
set PATH=%PATH%;C:\MinGW\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++

if not "%1"=="compile_debug" goto END
cd %QTDIR%
echo This will configure and compile qt in debug.
echo The release libraries will not be recompiled.
pause
configure -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg
cd %QTDIR%\src
qmake
mingw32-make debug
:END
---ここまで--- 
ちなみに、2時間以上ビルドしてる。
古いPCでは駄目な様子。orz....

Q_OBJECTって何だ?

QTを使い始めていろいろ学習した。
やたらとマクロがあるのでマクロの正体を探らないと何もできん。
というわけで、Q_OBJECTのマクロから追いかけてみた。
マクロのマクロのマクロは、同じヘッダの中にあります。

C:\QT\4.3.4\SRC\corelib\kernel\qobjectdefs.h
--ファイルここから--

/* tmake ignore Q_OBJECT */
#define Q_OBJECT \
public: \
    Q_OBJECT_CHECK \
    static const QMetaObject staticMetaObject; \
    virtual const QMetaObject *metaObject() const; \
    virtual void *qt_metacast(const char *); \
    QT_TR_FUNCTIONS \
    virtual int qt_metacall(QMetaObject::Call, int, void **); \
private:
/* tmake ignore Q_OBJECT */
--ファイルここまで--

こんなマクロがあったのかよ!びっくりダヨ!
Q_OBJECT_CHECKとQT_TR_FUNCTIONSも追いかけなきゃいけなくなったじゃないか。
なんてこったい。
謎が謎をよびマクロがマクロを呼び。
よりいっそう謎が深まった・・・。
いやまぁ。MFCでも面倒なコードは自動で作成してくれているので
その自動部分と思えば楽なのかもしれんが・・・。
--Q_OBJECT_CHECKここから--

/* tmake ignore Q_OBJECT */
#define Q_OBJECT_CHECK \
    template  inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const \
    { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); Q_UNUSED(i); }
--Q_OBJECT_CHECKここまで--



--QT_TR_FUNCTIONSここから--

#ifndef QT_NO_TRANSLATION
# ifndef QT_NO_TEXTCODEC
// full set of tr functions
// ### Qt 5: merge overloads
#  define QT_TR_FUNCTIONS \
    static inline QString tr(const char *s, const char *c = 0) \
        { return staticMetaObject.tr(s, c); } \
    static inline QString trUtf8(const char *s, const char *c = 0) \
        { return staticMetaObject.trUtf8(s, c); } \
    static inline QString tr(const char *s, const char *c, int n) \
        { return staticMetaObject.tr(s, c, n); } \
    static inline QString trUtf8(const char *s, const char *c, int n) \
        { return staticMetaObject.trUtf8(s, c, n); }
# else
// no QTextCodec, no utf8
// ### Qt 5: merge overloads
#  define QT_TR_FUNCTIONS \
    static inline QString tr(const char *s, const char *c = 0) \
        { return staticMetaObject.tr(s, c); } \
    static inline QString tr(const char *s, const char *c, int n) \
        { return staticMetaObject.tr(s, c, n); }
# endif
#else
// inherit the ones from QObject
# define QT_TR_FUNCTIONS
#endif
--QT_TR_FUNCTIONSここまで--

ああっここでtrが宣言されてるのか。
文字列の変換ってコレでやってたのね。
ここまで追いかけるのに随分時間かかったなぁ。
また、emitも同じようにマクロだったmocでmoc_*.cppを出力するために必要な物みたい
emitを入れると送信を作成する模様。うーむ。ソースでありながらQt専用部分になるなぁ。
アルゴリズムは完全別クラスにしてQT以外にも対応できるようにしたほうがよさそう。

※追記 trというのは翻訳するために必要なようです。

基本的に翻訳ファイルという物を添付して配る物。
または、リソースに挿入して使うものみたいです。
まだやり方を知りませんがやってみます。
俺の翻訳はファンキーだから間違ってることが多い。

QT(キュート)/Windowsで環境を作成してサンプル実行

QT/Windowsでビルド作戦。 
※QT4.3.4のオープンソースを使用してます。

すでにマイクロソフトのビルド環境がインストールされてる方はMinGWを入れても駄目?
qmakeをするとVCのインクルド、ライブラリのパスが設定されてエラーが出る。 
そこで、環境変数を書き換えたりPSDKをインストールしたり色々やったが駄目でした。

1.環境変数を書き換える。 駄目
2.PSDKをインストール。  駄目
3.C:\qt\4.3.4\bin\qtvars.batにMinGWのパスを追加する。成功!

1.環境変数を書き換える
変数 値
QTDIR C:\Qt\4.3.4
QMAKESPEC win32-msvc

QTDIRとQMAKESPECを追加。
QTがビルドするときに使う種類の設定みたいなものらしい。
色々なサイトみて真似してみたwwww
結果、何も変わらずダメポ。

2.PSDKを入れる作戦。
PlatformSDKをいれればインダーヨ!グリーンダヨ!
という情報をゲット。

VC6.0用の最後のPSDKはココでダウンロード
全部のCABをダウンロードしてバッチと実行ファイルをダウンロード。
適当なフォルダすべて入れる。
そして、MS-DOSコマンドプロンプトからcdでフォルダ移動する。
psdk-full c:\psdk
のコマンドでCABを1つのフォルダに解凍される。
psdkフォルダのsetupを実行するとHTMLが起動するので
画面左のWindows SDKをクリック 
そうすると、画面右にInstall this SDK!というのがでるのでクリック。
あとは、Installするだけで終わる。
VC6.0で使うときはIncludeとLIBの設定をしないと駄目なので自分で設定して。

さぁ、できたぜえええ。かかってこいや!ハゲ!ヴォケ!
ハゲ!ヴォケ!ハゲ!ヴォケ!ハゲ!
そしてqmake -project qmake make
のコマンドをがんがんいれていく。
また、駄目だった。

3.C:\qt\4.3.4\bin\qtvars.batにMinGWのパスを追加する。
※セットアップフォルダが違うとファイルパス違います。
C:\qt\4.3.4\bin\qtvars.batを書き換える作戦。
PATHがMinGWになればいいのですよ。

VC6.0をインストールした状態の環境変数 
---VC6.0の環境変数達---

MSDevDir
C:\Program Files\Microsoft Visual Studio\Common\MSDev98

INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include

LIB 
C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib
---ここまで---
ここを書き換えてしまうとVC6.0が使えない。
つまり、書き換える作戦は不可能。
チッ。。。。
というわけでC:\qt\4.3.4\bin\qtvars.batファイルに以下2つを追加してみた。

set INCLUDE=C:\MinGW\include
set LIB=C:\MinGW\lib


C:\qt\4.3.4\bin\qtvars.batファイルの中身

@echo off
rem
rem This file is generated
rem

echo Setting up a MinGW/Qt only environment...
echo -- QTDIR set to C:\Qt\4.3.4
echo -- PATH set to C:\Qt\4.3.4\bin
echo -- Adding C:\MinGW\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-g++

set QTDIR=C:\Qt\4.3.4
set PATH=C:\Qt\4.3.4\bin
set PATH=%PATH%;C:\MinGW\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++
set INCLUDE=C:\MinGW\include
set LIB=C:\MinGW\lib


if not "%1"=="compile_debug" goto END
cd %QTDIR%
echo This will configure and compile qt in debug.
echo The release libraries will not be recompiled.
pause
configure -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg
cd %QTDIR%\src
qmake
mingw32-make debug
:END

---ここまで---
そしたら、再度・・・
※メニューのBATからQTのqmake実行してね。

qmake -project
qmake 
make
MakeFile.debugとかみるとLIBの部分が書き換わっています。
なんか、エラーが変わったッ!
あのMSのファイルを見てない気がするけど。
エラーが止まらないwww何もかもすっ飛ばしてダイアログつくってみたんだけどwww

※hello Worldのサンプルに変更して試したらmakeに成功。
hello.exeを直接実行するとmingwm10.dllが無いだとか。
QT関連のDLLが無いだろ。ハゲというメッセージがくるのでコマンドラインから起動してみて。
hello worldのサンプルは実行できるお。

hello\main.cpp

 #include 
 #include 
 #include 

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

     QTranslator translator;
     translator.load("hellotr_la");
     app.installTranslator(&translator);

     QPushButton hello(QPushButton::tr("Hello world!"));
     hello.resize(100, 30);

     hello.show();
     return app.exec();
} 
---main.cppここまで---

適当にスペースの無いフォルダ自分の場合(C:\work\hello)を作成してmain.cppを入れる。
メニューからQt 4.3.4 Command Promptを実行する。
そして、 qmake -project 以下略。
最後にreleaseフォルダの中に実行ファイルができてるのでそのまま、
cd releaseしてhelloと入力すると箱でるよ。
サンプル実行するまでに3日かかったよ。
どこが導入しやすいんだか。
サンプルはあるんだが、知らない人向けのドキュメントが圧倒的に存在してない。
ココみても理解しにくいので、わかりやすい書き方とか。

知りたいとか質問とかあったらコメントに書いてくれるとありがたい。

●色々やった感想
あなたがもし、C++かC言語でWindows上のみで動作するアプリケーションを作りたいならばおとなしくVCの無料版を使うべきである。
どうしてもQT環境で作りたいというなら話は別ですが・・・。
触った感覚は、

VC6.0>>エクリプス3.1>>超えられない壁>>QT4.3.4

全部のツールを3日ぐらい触った感想です。
VCに関しては学生のころから使ってますが、当時、触り始めて窓を出すまでに1日でおわった。
Bitmap表示までは3日ぐらいだったなぁ。
エクリプスも同じぐらい面倒なパス設定があったけどなwwww

VCの無料版に関してはコチラ

QT/Windows(OpenSource)4.3.4のセットアップ~その2~

※英語力は中1以下です。
正しく翻訳してセットアップしている可能性が低いので要注意wwww 

ダウンロードをしていない方は その1へ

1.前回のダウンロードで取得したファイルを実行する。
qt-win-opensource-4.3.4-mingw.exeの実行ファイル。
緑色の四角にTって書かれたアイコン。

2.Qt OpenSource 4.3.4 Setupダイアログが表示される。
Welcome to the Qt OpenSource 4.3.4 Setup Wizard
の説明文が出るので「Next >」ボタンを押す。

説明文には、QTをインストールする誘導だYO!
起動中のアプリケーションを停止たほうがいいよ。
あと、これ入れても再起動する必要ないんだからね。
って、かいてあるっぽい。

3.Open Soruce Edition
これはオープンソースエディションです。の説明。
You are now installing the Open Source Edition of Qt.
This Edition can only be used for development of Open Source software.
オープンソースのソフトウェア開発として使えよ。
商用につかったらチンコ切るからね!って、書いてありました。

The Open Source Edition supports the MinGW compiler and is licensed under the GNU GPL licence,
MinGWというコンパイラを使って使うのでライセンスはGNU GPLにありますお。

面倒なので「Next >」ボタンを押す。

4.License Agreement
ライセンスについての説明がでる。
I accept the terms in the License Agreementのラジオボタンを選択。
そして「Next >」ボタンを押す。
ライセンス文の中に100万円あげるYO!とか書いてないか調べておくのも重要です。

5.Choose Components
インストールするコンポーネントの選択。
とりあえず、全部チェックされてればいいとおもう。
4.3.4でQt4.3.4とFile Associationsの中身がすべてチェックされてればヨシ!
「Next >」ボタンを押す。

6.Choose Install Location
セットアップフォルダの選択。
MinGWとかコマンドラインでコンパイルするソフトに対して
スペースの入ったセットアップ先は危険。
C:\Program Files\Opai\Qt\4.3.4
というスペース入りのフォルダは避ける。
デフォルトではC:\Qt\4.3.4になっています。
開発ツールには環境変数とか色々あるはずなので変なカスタムしませんでした。

そのまま「Next >」ボタンを押す。

7.Choose Start Menu Folder
Chooseはチャオズじゃなくて選択する意味だな。
スタートアップメニューの設定。
面倒なのでそのまま「Next >」ボタンを押す。

8.MinGW Installation
MinGwのセットアップ。
Find MinGWのグループ内に

Previously installed MinGW:
以前にインストールしたMinGWどこだい?

Download and install MinGW:
ダウンロードしてインストールするぜ。
セットアップ先のフォルダをしていしな。
の2種類があります。

すでにMinGWをインストールしている方はInstallボタンを押す。

インストールがまだの方は
Download and install minimal MinGW instalation
最低限のMinGWをダウンロードするかい?
をチェックする。
普段つかってないのでチェックしてインストール先を指定してもいい。
デフォルトでC:\MinGWになるのでそのままInstallボタンを押す。

9.MinGWのメッセージが出る。
There is a problem with yor MinGW installation:
g++ not found in C:\MinGW\bin\
Do you still want to continue?
(Your installation may not work)
MinGWのG++が無い?セットアップ先のフォルダが無かったよっていう意味かもしれない。
よくわからないが、はい(Y)を押した。

10.MinGW License Agreement
MinGWのライセンスに関する説明だと思う。
I Agreeボタンを押す。

11.MinGW Download Mirror
MinGWをダウンロードする先を選択する。
Trolltechのダウンロード先がでるので選択。
DownLoad MinGW souce code. (You don't need this to compile QT)
ソースコードはダウンロードしない。チェックみたい。
ソースも必要ならチェックする。
Installボタンを押す。
MinGWのダウンロード開始。時間かかるので待つ。

12.Installing
ダウンロードが終わるとセットアップ開始します。
とりあえず待つ。終了するのを待て!
Show detailsボタンを押す。詳細が出るよ。

13.Installation Complete
セットアップした詳細がでてくる。
Next>ボタンを押す。

14.Completing the Qt OpenSource4.3.4 Setup wizard
Finishボタンを押して終了です。
セットアップ終了のお知らせが出て終了。

セットアップまでは終わったが使い方がわからん。

QT/Windows(OpenSource)4.3.4のセットアップ~その1~

※英語を読んでる人が中1レベルの英語力なので90%が妄想で保管した翻訳です。
間違っている所だらけなのでコメントで修正個所などを指摘してもらえるとありがたいのです! 

※追記:Microsoft Visual C++ 6.0のSP6を入れた環境の場合。
セットアップは成功。
でもな!makeが実行できませんでした。
makefile内のincludeとlibの指定個所がVC6.0になると駄目の模様。
-I"c:\Program Files\Microsoft Visual Studio\VC98\mfc\include"
-L"c:\Program Files\Microsoft Visual Studio\VC98\mfc\lib"
MinGWを入れたのに何故?
環境変数の問題になっている様子です。

そりゃ、10年近く前の環境だもんね。もう、忘れられて当然だわ。

直リンだと駄目かもしれないので駄目だったら下記の手順を試してみてください。
直リン:Windows版のダウンロードページ
HTTPでもFTPでも好きなダウンロード先から
qt-win-opensource-4.3.4-mingw.exeをダウンロード。
すでにビルドされているので自分でビルドする必要は無い。
qt-win-opensource-src-4.3.4.zipは、ソースコード。
とりあえず、ソースは必要ないのが、保存するだけ保存する。

ダウンロード先

1.ダウンロード手順
trolltech社のサイトにアクセス!ダウンロードコーナーに行く。
全部、英語なので要注意。
OpenSource版のセットアップなので「Go to Open Source Downloads」を選択する。

ダウンロードページからC++版のダウンロードを選択する。
Choose Your DownloadQt Open Source Edition for C++ Developers
この項目がC++版ということなので選択。

Qt Open Source Edition for C++ Developers: Windows Download
を選択する。 
なんか説明文ついてますが・・・
Qt is a cross-platform application development framework.
The Open Source Edition of Qt is available to open source developers under the terms of
the GPL version 2.0, and is not intended for commercial, proprietary source projects.

commercialが商用という事なので商用利用しちゃ駄目よって事だね。
それ以上はわかりません。

ここでHTTPとFTPのダウンロード先が出てるので好きな場所からダウンロード。
qt-win-opensource-4.3.4-mingw.exeをダウンロード。
すでにビルドされているので自分でビルドする必要は無い。
qt-win-opensource-src-4.3.4.zipは、ソースコード必要ないかも。

※Open Source Editoinページにあったほかの項目って何? 
念のため調べてみた。もちろん、正しい英語翻訳が出来ていないので
正しい情報で無い可能性が高い。というか、間違ってるので注意!

「Provide Feedback on Pre-Release Software」
これは、ベータ版なのでバグあったら教えてくださいバージョン。

「Qtopia Open Source Edition Downloads 」
wikipediaを見た限り、オープンソースで組み込み系向け。
携帯電話とかモバイル機器向けのアプリケーションでLinux限定みたいです。

「Qt Jambi Open Source Edition for Java Developers 」
これはJAVAのQTらしいです。それ以上のことはわからない。
Linux/Windows版の両方ある。

「Other Software Available for Download」
エクリプス(JAVA)用だったりするんですね。
あとは、携帯電話の開発用とか書いてあるっぽい。

その2 セットアップ編へ
ブログ内検索
最新コメント
[06/24 Kazelcmo]
[06/24 Kazelxyk]
[04/23 Presencia]
最新トラックバック
ブログ関連リンク

カレンダー
09 2018/10 11
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
カウンター
FX NEWS

-外国為替-

AdminControlMenu: AdminMenu | NewEntry | EditComment | EditTrackback

忍者ブログ [PR]