ロゴ メインコンテンツへ
RSSフィード
「ソフトウェア開発」に関連する記事一覧

Qt 簡易ファイルダイアログをコンソールアプリで使う

2011/07/17
(この記事の文字数: 1215)
Qt 
ちょっとした画像処理などのプログラムを書くなどでファイルの入出力を行うとき、入出力のファイル名をプログラムに打ちなおしたり、実行ファイルの引数で与えてあげるというのも面倒なものです。

こういった場合、ファイルダイアログなんかが使えるとファイル名の指定をGUIで行えるのでかなりトライアンドエラーがやりやすくなり、作業効率がアップします。

ということで、簡単に作れるQtのファイルダイアログの使用例を紹介しようと思います。Qtはコンソールアプリケーションでも使えるのでちょっと簡単な実験を行いたいときなんかにもすぐに実装できます。

例えば、次の例はファイルオープン用のダイアログとファイルセーブ用のダイアログを順に出して、それぞれで取得したファイル名をコンソールに表示するプログラムです。

#include <QApplication>

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

  // open dialog
  file=QFileDialog::getOpenFileName(NULL, QString("Open File"), QDir::currentPath());
  printf("%s\n", file.toLatin1().data());

  // save dialog
  file=QFileDialog::getSaveFileName(NULL, QString("Save As"), QDir::currentPath()); 
  printf("%s\n", file.toLatin1().data());

  return 0;
}
 

最初の

QApplication app(argc, argv);

はQtの初期化のために書いています。これを書かないとQtの関数やクラスは正常に動作しません。
それを除けばわずか1行でファイル名取得がファイルダイアログを通してできるのですごく使いやすいです。

ちなみにファイルフォーマットフィルタをかけるには次のようにします。

QString filter=QString("Image files (*.bmp *.gif *.jpg *png *.pgm *.ppm *tif *xbm *xpm);;BMP (*.bmp);;GIF (*.gif);;JPG (*.jpg);;PNG (*.png);;PGM (*.pgm);;PPM (*.ppm);;TIFF (*.tif);;XBM (*.xbm);;XPM (*.xpm);;All files (*)"); 

QString file=QFileDialog::getOpenFileName(NULL, QString("Open File"), QDir::currentPath(), filter);
 

私はコンソールアプリケーションで機能テストを行うときなんかは重宝しています。

普段、ファイルの入出力をよくやるという方は是非導入してみて下さい。

  このエントリーをはてなブックマークに追加  

<<「ソフトウェア開発」の記事一覧に戻る

コメント(0 件)



コンテンツロード: 0.0065 sec
Copyright(C)2006-2024 puarts All Rights Reserved