質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • Python

    8042questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

GUIプログラムを開発するのにおすすめの言語・ライブラリ

解決済

回答 6

投稿

  • 評価
  • クリップ 0
  • VIEW 9,241

wabisuke2718

score 85

囲碁AIを作るためにまずはGUIインターフェースを作ろうと思ったのですが、

GUIプログラミングについてほとんど何も知らないので、

どのような言語・ライブラリが使いやすいのか、

またはメジャーなのかが分かりません。

GUIプログラムを作るのに適切な言語・ライブラリを教えてください。

GUIでなければプログラミングの経験はあります。

使ったことのある言語はPHP,C++,Pythonなどです。

経験のない言語でもGUIプログラム開発しやすいのであれば勉強しようと思います。

どのようなことをやりたいのかですが、まず碁盤(マス目状)を表示して、

マスをクリックされたら石を置く(表示する)など。

またボタンなどが配置出来、クリックされたときの処理を記述できるなど。

とりあえず環境はWindowsでお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 6

checkベストアンサー

0

将棋盤を出すということで、ボタンやリストやそのた諸々の普通のGUI部品がそれほど必要でなく図がかけてマウスをクリックしたら色を変えて何かするといった単純な処理でよいならProcessingのpythonモードという選択肢もあるかと思います。本格的に開発するという意味ではIDEとエディターが貧弱なのでAIルーチンの部分は普通のpython環境で作った方がいいと思いますがw;

最初に絵が出るまではとても簡単で数行で済むというのは多分nnahitoさんが薦めておられるtkinterと似たようなイメージだと思います(nnahitoさんのqiitaの記事をみてそう感じましたw;)

自分はjava(swingやJavaFX), C#(FormやWPF)で作った経験がありますが、WindowsでポピュラーといえばおそらくForm,WPFといったあたりだろうと思います。ただこれらはおそらくpythonなどに比べると言語がコンパイラーという点や言語仕様がより厳格(というか複雑?)GUIのクラスライブラリーが高機能だけどそれだけ使い方が複雑という面があるので、「よいところもあるし」「難しく感じることもあるだろう」と思います。そうしたものに手を出すのもよいと思いますがpythonになれているということならnnahitoさんお勧めのものやProcessingなどが手軽と感じると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/07 14:06

    pythonは簡単なスクリプトを書く程度で特に慣れているというわけではないのですが、
    guiについて調べている際にpythonのpyqtというのがクロスプラットフォームで、
    自分はmacとwindows両方使っているので、少し興味を持ったのですが、
    今後guiアプリケーションを本格的に作りたいと思った時に他の選択肢がないだろうかと思い質問しました。
    やはり、本格的に作ろうと思った場合javaやC#を使うことになるのでしょうか?

    キャンセル

  • 2017/04/07 15:07

    よくあるボタン、リスト、コンボボックス、テーブル、ツリー、画像表示などのある画面を作るなら少なくとも、Processingはよい選択ではないでしょう。これはどちらかというと手軽に幾何図形や画像処理的なものを作りたいときという感じが強いです。

    自分は本格的なGUIというより本格的な規模のアプリケーションロジックを作るときGUIライブラリーで選択するというよりは「インタープリタではなくコンパイラーで設計をかっちり作り速度もそこそこであってほしい」と考える方なのでJava/C#になるだけです。ただ目的によって得意不得意はあるので本格的な3DゲームのようなものならJavaやC#のみでは不可能でUnityあるいはOpenGL+何かのライブラリーが必要になるでしょう。

    それほど特化したものでないならJava/C#程度の速度で大丈夫な感じです。アマチュアなのでふざけたものしか作ったことないですが、例えばリアルタイムのソフトシンセで楽器の音をJavaで合成して演奏できるのを初めて見たときはちょっとびっくりしました。PCの性能のおかげだと思います。

    なお、GUIに限った話であれば必ずしもJava/C#のようなコンパイラーが必要かといえばそうではない気がします。例えばqiitaのnnahitoさんページを見る限りtkinterはより普通のGUIライブラリーのように見えますのでインタープリタの速度で問題ないアプリならpythonなどでもそれなりに広い範囲をカバーできる気がします。(詳しくはnnahitoさんに聞いてみてください w;)pythonに限らずrubyでもjavascriptでも大抵の言語でOKなんじゃないでしょうか。

    キャンセル

0

私は、Pythonなら「tkinter」をお勧めします

手前味噌な解説
http://qiita.com/nnahito/items/ad1428a30738b3d93762

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

いろいろGUIを作ってきましたが、比較的簡単なイメージだったのがWPFでした。
VisualStudioも今は無料で使えますし、IDEの機能的にも申し分ないと思っています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

サクッと作成したいときはEclipse(+ WindowsBuilder)でJavaで開発しています。
https://eclipse.org/windowbuilder/
デザイン面では微妙ですが、動きだけ欲しい場合は重宝しています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

C#のWPFがなんだかんだ言って最強なのですが、
今時なら、Vue.js をあたりを使ってJSで、Webページ or electron を作るとかでも、いいんじゃないですかね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

簡単やつだったらPythonの「tkinter」、複雑でより実践的なのはPythonの「PyQt」が良いのではないしょうか。
https://ja.wikipedia.org/wiki/PyQt

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    Java Android StudioでもJavaプログラミングの学習はできる?

    javaをやる際に、 1ターミナルからする 2eclipseを使う 3Android Studioを使う これの3はできますでしょうか? 

  • 解決済

    アプリが作られる仕組みが知りたいです

    デスクトップアプリや業務アプリなどの便利なアプリがどのような原理で作られるのか知りたいです。 開発について調べていると,どの言語でも得手不得手はあるけど、どんなアプリでも作れ

  • 解決済

    javaゲーム勉強

    javaは超基本のintに10をyに40を入力して、足し算や引き算、割り算やif文など、はわかるんですが、ゲームを作るとなると全くわかりません。動画である方が作り方を紹介しているの

  • 受付中

    rubyやpythonでGUIアプリケーションをつくること

    ruby、pythonどちらかでGUIでミュージックプレイヤーをつくろうと考えていて、以前にpythonではpygameを使ってrubyではdxrubyを使って簡単なゲームをつくっ

  • 解決済

    PHPで画像アップロード掲示板を作ろう

    ドットインストールの「PHPで画像アップロード掲示板を作ろう(http://dotinstall.com/lessons/upload_image_php_v2)」というレッスンを

  • 解決済

    C言語でGUIアプリ

    C言語でGUIアプリは作れるんですか どうやったら作れるんですか

  • 解決済

    GUIのライブラリについて

    以前、よくwin32 APIを使用してGUIを作っていたんですが、このライブラリはwindows に依存しています。 GUIなどのシェルは、OSに依存しているものなのでしょうか

  • 受付中

    javaFXで、GUIクラスではないメインクラスで計算の処理などをしたい。

    前提・実現したいこと 通常のGUIクラスでは、基本的にGUIクラスが視点になってプログラムが動いていくことと思います。 GUIクラスが画面にボタンを配置し、GUIクラスが受け取

同じタグがついた質問を見る

  • Python

    8042questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。