吾生有涯 学海无涯
析模有界 知识无界

【Fluent GUI】06:对话框与表格

本文描述利用Scheme创建Fluent GUI过程中的对话框与表格问题。

Fluent GUI具有三层结构:

  • Dialog:最顶层结构,所有的界面元素均放置于Dialog中。利用函数cx-create-panel创建

  • Tables:主要用于布局。将界面元素放置于Table中,便于管理。Table利用函数cx-create-table创建

  • 控件:实现数据输入及命令响应的元素。如数据输入框、文本输入框、按钮、列表及下拉框等。

1
Dialog

在Fluent中,每一个弹出的对话框都称之为Dialog。

对话框通常利用cx-create-panel创建,创建完毕后,还需要利用函数cx-show-panel将其显示出来。

(cx-create-panel title apply-cb update-cb)

函数中的参数:

  • title:对话框的名字,出现在对话框的标题上,变量为字符串类型

  • apply-cb:回调函数,当鼠标点击对话框的OK按钮后执行该函数

  • update-cb:回调函数,当对话框开启时执行该函数

注意:apply-cb和update-cb参数通常是在对话框打开或单击OK按钮时调用的函数名,但这并非是必须的,apply-cb和update-cb参数也可以用布尔值代替函数名。当使用布尔值代替函数名时,点击OK按钮对话框不执行任何操作。

显示对话框使用cx-show-panel函数:

(cx-show_panel panel)

其中,panel为创建的panel对象。

一个最简单的对话框代码如下所示:

(define my-dialog (cx-create-panel "my dialog box" #t #f))
 (cx-show-panel my-dialog)

将上述代码保存到以scm为扩展名的文本文件中,启动Fluent后利用菜单File → Read → Scheme…读取保存的scm文件即可开启对话框。如下图所示。

这个对话框很简陋,除了三个什么功能都没有的按钮后就没别的了。

下面来为按钮添加功能,比如说想要对话框启动后在TUI窗口打印消息,以及在点击OK按钮后打印消息。可以改造代码如下所示。

;定义apply-cb函数,该函数在点击OK按钮后执行
 (define (apply-cb . args) 
     (display "clicked OK button!n");该行语句在TUI窗口打印文本消息
 )
 ;定义update-cb函数,该函数在对话框启动时执行
 (define (update-cb . args)
     (display "dialog box opened!n")
 )
 ;定义对话框my-dialog
 (define my-dialog (cx-create-panel "my dialog box" apply-cb update-cb))
 (cx-show-panel my-dialog)

相同方式加载该scm文件后,如下图所示,在TUI窗口打印文本消息。点击OK按钮也会在TUI窗口打印文本消息。

2
table

table主要用于布局。一个dialog中可以包含有多个table。

table采用函数cx-create-table创建,函数形式如:

(cx-create-table parent label border below right-of row column)

函数中的参数包括:

注意: border, below, right-of, row, column为可选项,可以为空。

如下面的代码:

显示对话框如下图所示。

没有scheme代码高亮显示,真是low得可以。

本篇文章来源于微信公众号: CFD之道

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《【Fluent GUI】06:对话框与表格》
文章链接:https://www.topcfd.cn/6047/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册