• ベストアンサー

GUIの開発方法について

GUIの開発方法について CまたはC++で GUI(グラフィカル ユーザ インターフェース)の開発をしたいと思っています。 今、調べた範囲で分っているのは、 OpenGLではGUIを作るには不向きです。 OpenCVではドラックバーを設置するだけの簡単なGUIなら出来ますが、 複雑なGUIになると大変です。 Windows系OSだけでなく、Unix系OSでも使える開発方法はないでしょうか? 都合のいい事ばかりを言っていると思いますが、 ご教授お願いします。

noname#210749
noname#210749

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

OpenGLは、3D表示ライブラリ OpenCV は、画像処理ライブラリであり、 どちらもGUIアプリケーション開発を目的としたものではありませんから、 選択肢として考えること自体が間違えているかと。 マルチプラットフォームなGUIフレームワークにもいろいろありますが、 Qtはどうでしょうか。 http://ja.wikipedia.org/wiki/Qt 最初から X Window System(Unix系) と Microsoft Windows の両方で動かすことえを考えて設計された GUIフレームワークです。 他には GTK http://ja.wikipedia.org/wiki/GTK%2B wxWidgets http://ja.wikipedia.org/wiki/WxWidgets といったものもあります。

noname#210749
質問者

お礼

ご丁寧な回答ありがとうございました。 早速、試してみます。

関連するQ&A

  • Linuxでftp操作がGUIでできるツールについて教えて下さい

    Linuxで、ftpコマンドがGUI(グラフィカルユーザインターフェース)で で行えるツールってあるのでしょうか? もしご存知でしたら教えて下さい。

  • GPLソフト用に作成したGUIを商品化することはできますか?

    GPLライセンスへの質問ですが御教示下さい。 ある科学技術計算のGPLプログラム用に作成したGUI(グラフィカルユーザーインターフェース)は、 この部分のみを商品化することはGPLライセンス上できますか?

  • GUIアプリケーションの開発について

    Windowsで動作する一番簡単なGUIアプリケーションの作り方を教えてください。今までC言語とJavaの初歩的な学習は大学の授業でやりましたが、作ったプログラムはコンソール画面で動作するCUIのものばかりでした。したがってGUIのプログラミングは全く学んだことがありません。そこで、例えば電卓のような簡単なGUIアプリケーションの作る手順を教えてください。またはそのような内容のWebページを教えてくださると嬉しいです。言語はC言語かJavaでお願い致します。 会社などで実際にソフトを開発する際にVisual Studioがよく使われているそうなので、できればVisual Studioで開発する方法を教えてくださるとありがたいです。 インストールしてあるVisual Studioは「Visual Studio 2013 Ultimate」です。回答宜しくお願い致します。

  • CUIって?

    パソコンの画面に命令やデータを表す文字列をキーボードから入力する操作環境をCUIって言うとありました。 MS-DOSとかUNIXがこれにあたるのだそうですが、言っていることはすごく理解できるのですけど、正式名はなんと言うのでしょうか? GUIはグラフィカルユーザーインターフェイスだから、コマンドユーザーインターフェースなのかな? それと、Excelなどのデータベース関数の引数にCriteriaとありますよね。 これってなんて読むのですか? PCの用語は難しいです。 教えてください。お願いします。

  • GUIとは何でしょうか?(定義)

    GUIとは何でしょうか?(定義) こんにちは VB.NETで開発を行っている者ですが、 VBに限らない話題なのでここに投稿させていただきます。 通常「GUI」というときはボタンやテキストボックスなどがあり、 ユーザからマウスやキーボードなどで入力を受け付ける画面をいいますよね? Wikipediaでの定義は 「コンピュータグラフィックスとポインティングデバイスを用いて、直感的な操作を提供するユーザインタフェース」(抜粋) となっています。 では、ユーザの入力を一切受け付けないフォーム (例えばバッチ処理の進捗状況を表示するなどの完全に表示専用の画面) を作った場合、それはGUIとは呼べないのでしょうか。 呼べない場合、変わりにどのように呼称すべきでしょうか。 ご回答よろしくお願いします。

  • OSの教材の正解がわかりません。

    JSTのオーぺレーティングシステムコースのレッスン2. OSの関係する各種の接点をやっています。 それの自己診断テスト2がわかりません。 問2.ユーザとコンピュータのインタフェースに関して、正しいものをすべて選びなさい。 1.UNIX系のOSではプログラムの実行は常にコマンドを使う必要があるので、GUIを利用できない。 2.対話型のコンピュータ利用では、プロンプティング文字が出てくるが、これは、次の入力を促している。 3.GUIとはディスプレイとマウスを使用するユーザインタフェース全般をさす。 4.GUIのアイコンはプログラムの内容を図や絵にして理解しやすくしており、機能を呼び出したりプログラムを開始することができる。 5.UNIX系で利用されるコマンドはカーネルの持つ機能である。 私は 1,2,3,4が正しいと思いました。 ですが不正解でした。 解説を読んだのですが何が違うのかよくわかりません。 解説 UNIX系のOSでは、ユーザは端末からコマンドを入れて操作するのが基本である。この方法は文字をベースとするインタフェースなので、CUIと呼ばれている。文字をベースにする不便さを改善するために、また、複数の作業を効率高く行えるようにするために、ウインドウシステムが開発された。古くはX-WindowなどでありGUIの一つである。その後、複数のGUIがデスクトップ環境として開発されている。 プロンプティングは次の入力を促すメッセージである。 GUIではビットマップディスプレイと位置を示すマウスやトラックボールのようなポインティングデバイスが通常使用される。そして、ディスプレイにはアイコンを表示して理解しやすい利用法を提供するのが一般的である。 コマンドは一種のアプリケーションプログラムであり、UNIXではシェルと呼ばれている。シェルは、その処理においてカーネルコールを利用することで処理を進め、ユーザの要求を果たす。 私の答えの何が違うのか教えてください。 よろしくお願いします。

  • ubuntuでC++のGUIプログラム

    C++でゲームを作りたいと思っているのですが、C言語はあるていどは分かるのですがC++はまったくやったことがありません。 そこで質問ですが、「ubuntuでC++のGUIプログラム」は作れるのでしょうか? WindowsとLinux系OS(Ubuntu)の両方で開発できるのが理想です。 初心者なので質問が上手くありませんが、答えていただければ幸です。

  • JAVA と C について

    これから JAVA の勉強を始めようかと 考えています. C は昔からやっています. JAVA と C を比べたときの 長所,短所を教えてもらえませんか? プログラミングの使用は グラフィカルなシミュレーションを 行いたいと考えています. ちなみに C では OpenGL を使っています. JAVA も OpenGL が使えるんですよね? OS は Windows も Linux も使います.

  • マルチプラットフォームで動き、データ保存を行うことができるGUIアプリを作るには、現在どのような選択肢がありますか?

    いつもお世話になっています。 アウトラインエディタのようなものを作ってみようと思っています。 いろいろ考えたのですが、疑問点が多々あり、アドバイスをいただけたら幸いです。 また、プラットフォームに依存したくないので、VCやDelphiは避けたいです。 アプリ概要 左にディレクトリペインがあり、右にメモやTODOなどを書いて保存できるアウトラインプロセッサ。(既存のWindowsアプリですと、nami2000のようなものを作りたいです) [nami2000のHP] http://www.geocities.jp/my_ultraseven/mozart/_start.htm 案1 ・Webブラウザを画面としたアプリにする ネック ・Windows依存にはしたくないのでVBScriptやJScriptは使わない。JavaScriptで書くことになるかと思いますが、JavaScriptではファイル入出力はセキュリティ上サポートされていないので、別途Webサーバを立て、CGI経由でDBに保存するか、XMLテキストなどに保存する必要がある。Ajaxを使ったとしても、Webサーバが必要。単なるアイデア整理、日記、購入書籍整理、通院記録整理といった目的に使うアプリ程度にWebサーバを立てる必要が生じるのは大げさなのではないか。。いや、大げさだろう・・・。。 案2 ・C/C++を用いてGUIアプリ開発を行う。 ネック(&疑問点) ・C/C++でGUIアプリを作るには、(VC等を除くと)QtとOpenGLがあるようです。 Qtは非商用利用ではGPLなのですが、もしQtを使用してGUIアプリを開発しフリーソフトとして公開することになった場合、当然アプリのソースコードをすべて公開する必要があるのでしょうか?(wikipediaによるとGPLライセンス準拠なら公開するべきとされているようですがはっきりわかりませんでした) OpenGLはxDグラフィックスインターフェイスなので、いわゆるGUIアプリと聞いてイメージするような、メニューバーがあり、ウィンドウ領域があり・・・といったアプリ開発には向いていないのでしょうか? ・案3 Java - Swingを使って開発する。 いちばん現実的な選択肢のような気がします。。 ・案4 Firefoxなどのアドオンのように、コアはC++で記述し、XULを用いてユーザーインターフェイス部分の開発をする。 いろいろと調べたのですが、結局よくわからないままです。。難しい・・・。 その他、言語やライブラリ、フレームワークなどでアイデア・アドバイスがありましたらぜひお教えください。 個人的にはブラウザベースのアプリにしたい気持ちがあるのですが、Webサーバが必要になるのがネックです。ブラウザ画面で入力したデータをWebサーバを必要とせずにそのままローカルに保存・参照できるような機能を持つ言語はないみたいですね。XULならできるようですがよくわかりません。。 C/C++でマルチプラットフォームのGUIアプリ開発環境があればそれが一番いいと思っていますが、見つかりません。(ないなら作ればいい、というのがエンジニア魂なのでしょうが、そこまでのスキルがありません。。) また、フリーソフトとして公開するときにソースコードを公開するのは抵抗があります。 マルチプラットフォームで動き、データ保存を行うことができるGUIアプリを作るには、現在どのような選択肢があるのか、アドバイスいただけたら幸いです。 私自身も整理できていないので、わかりにくくてすみません。。 要はアウトラインプロセッサを作りたいのですが、画面をブラウザにするとWebサーバが必要になってしまい大げさ、C/C++で作るとQtなどが必要になり、ソースコード公開しなければならなくなる?(というよりも、GPLライセンスの下に他人による改変を認めてしまう)のでそれは避けたい。 XULで作る場合、Firefoxなどのアドオン化できるのは魅力だけれど、結局はjarファイルなのでソースコードそのままだしてるのと同じ、その前に概念が難しいのでよくわからない。。 JavaはGUI開発はまだまだ発展途上とのことなのでJavaにするのもどうなのか。。 混乱してます。。。

  • C++でGUIアプリケーションを作成するには?

    C++でGUIアプリケーションを開発しようとしていますが、どのように作成すればよいのかわからなかったため、質問させて頂きました。 アプリケーションのイメージとしては、ボタン・背景などはすべてこちらの用意した画像で表示し、Windowsっぽいテイストは一切出さないアプリケーションです。ボタンを押すと画面全体が切り替わるイメージです(例えばプリクラみたいな) 現在JavaのSwingでアプリを作成しており、全体が切り替わる機能としてはJPanelのCardLayoutを使用しています。 ボタンはJButton等で完全に画像onlyのアプリを実現しています。 ただ、JavaはWEBカメラからの画像取得が640*480が限界であり、カメラの限界性能(1600*1200等)が使用できるopencv(c++)で画像キャプチャのところだけ作成しました。 このままアプリ全体はJavaで作成し、画像キャプチャ時はc++のexeを裏で実行させるという方法もあるのですが、言語を統一したほうがいいのではないか?と思ったので現在c++でGUIアプリの作成方法を調べています。 参考になるページもご紹介いただけるとありがたいです。

専門家に質問してみよう