Converg.

ものづくり関係の備忘録

gtk-fortran Vol.1

私がメインで使用しているfortranの、GUIプログラミングについて備忘録として保存してまいります。

gtk-fortranのインストール

gtk-fortranについて、まずは下記を一読ください。
Home · jerryd/gtk-fortran Wiki · GitHub

以降はmacOSにて開発を進めてまいりますが、推奨環境は Linux です。


macOSにて開発なさる方で導入に苦労されている方がいらっしゃれば、エラー内容と共にコメントください。

gtk-fortran開発者殿はmacOSに詳しくないらしく、一部手動でソースコードを手直し、インストールする必要がございます。)




まずは,単純にウィンドウを表示させるサンプルコードです。

program show_window
  !--------------------------------------------!
  !--- ファイル名は hogehoge.f90 とします。
  !--------------------------------------------!
  use iso_c_binding
  use gtk
  !---
  implicit none
  type(c_ptr) :: window

  !--- GTK+の初期化
  call gtk_init()

  !--- ウィンドゥの設定
  !  第一引数:ウィンドゥの種類
  !    GTK_WINDOW_TOPLEVEL:アプリケーションのメインになるようなウィンドゥ
  !    GTK_WINDOW_POPUP   :クリックした時にポップアップ表示されるようなウィンドゥ
  window = gtk_window_new(GTK_WINDOW_TOPLEVEL)

  !--- タイトルを設定
  call gtk_window_set_title(window, "Hello! World!"//c_null_char)

  !--- ウィンドゥの大きさ設定
  !    第一引数:ウィジェット
  !    第二引数:ウィジェットの幅
  !    第三引数:ウィジェットの高さ
  call gtk_widget_set_size_request(window, 300, 200)

  !--- ウィンドゥの表示
  !    第一引数:表示するウィジェット
  call gtk_widget_show(window)

  !--- メインループ
  call gtk_main()
end program show_window

hogehoge.f90をコンパイルして実行しましょう。

$ gfortran hogehoge.f90 -o hogehoge `pkg-config --cflags --libs gtk-2-fortran` -Wl,-no_pie
$ ./hogehoge


実行すると次のように表示されます。これでwindow表示ができるようになりました。

f:id:convergence_hub:20170115122250p:plain