Ubuntu上实现Fortran图形界面的常见方法及步骤
在Ubuntu上开发Fortran图形界面前,需安装以下基础工具和图形库:
sudo apt update && sudo apt install gfortran
sudo apt install libgtk-3-dev
sudo apt install libfltk1.3-dev
sudo apt install geany
GTK+是Linux下最常用的图形库之一,通过gtk-fortran
绑定可实现Fortran调用。以下是具体步骤:
sudo apt install libgtk-fortran-dev
hello_gtk.f90
,使用GTK+创建窗口和按钮:program hello_gtk
use gtk
implicit none
type(GtkWindow) :: window
type(GtkButton) :: button
integer :: status
! 初始化GTK
call gtk_init()
! 创建顶层窗口
window = gtk_window_new(GTK_WINDOW_TOPLEVEL)
call gtk_window_set_title(window, "GTK+ Fortran Demo")
call gtk_window_set_default_size(window, 300, 200)
! 创建按钮
button = gtk_button_new_with_label("Click Me!")
call gtk_container_add(GTK_CONTAINER(window), button)
! 连接按钮点击事件(退出程序)
call g_signal_connect(button, "clicked", c_funloc(gtk_main_quit), C_NULL_PTR)
! 显示所有控件
call gtk_widget_show_all(window)
! 进入主事件循环
call gtk_main()
end program hello_gtk
gfortran -o hello_gtk hello_gtk.f90 `pkg-config --cflags --libs gtk+-3.0`
./hello_gtk
运行后会弹出一个包含“Click Me!”按钮的窗口,点击按钮可关闭程序。FLTK(Fast Light Toolkit)以轻量和易用著称,适合快速开发简单界面:
sudo apt install libfltk1.3-dev
simple_gui.f90
,使用FLTK创建窗口、文本框和按钮:program simple_gui
use fltk
implicit none
integer :: win, button, input
! 初始化FLTK
call fl_open_display("")
call fl_initialize()
! 创建窗口
win = fl_open_window(300, 200, "FLTK Fortran Demo")
! 创建文本框(用于输入)
input = fl_add_input(50, 50, 200, 30, "Enter text:")
! 创建按钮(点击显示输入内容)
button = fl_add_button(100, 100, 100, 30, "Show")
call fl_set_button_callback(button, c_funloc(button_callback), input)
! 显示窗口
call fl_show_widget(win)
! 进入事件循环
do while (fl_check_event() /= -1)
! 事件处理由回调函数完成
end do
! 关闭窗口
call fl_close_display()
end program simple_gui
! 按钮回调函数:显示输入的文本
subroutine button_callback(ptr)
use fltk
implicit none
integer, intent(in) :: ptr
character(len=100) :: text
! 获取文本框内容
text = trim(fl_get_input(ptr))
if (text /= "") then
call fl_message("You entered: " // trim(text))
end if
end subroutine button_callback
gfortran -o simple_gui simple_gui.f90 -lfltk
./simple_gui
运行后会弹出窗口,输入文本并点击“Show”按钮,会弹出消息框显示输入内容。sudo apt install libiup-dev
libwxgtk3.0-fortran-dev
),适合复杂界面。安装命令:sudo apt install libwxgtk3.0-dev libwxgtk3.0-fortran-dev
iso_c_binding
模块简化操作。通过以上方法,可在Ubuntu上实现Fortran图形界面,满足科学计算、工程应用等场景的需求。