You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pharo 13中运行无环境界面的独占窗口GUI应用?

在Pharo 13中直接启动全屏无环境界面的Spec 2应用

Pharo 13的解决方案

不需要生成安装包或精简镜像,直接通过启动脚本替换Pharo默认界面即可,分两种实现方式:

方式1:调整Presenter窗口为全屏并隐藏系统UI

编写启动脚本start.st,内容如下:

"删除Pharo默认的菜单栏和任务栏"
World submorphs do: [:m |
    (m isKindOf: MenuMorph) | (m isKindOf: TaskbarMorph) ifTrue: [m delete]].

"启动自定义Presenter并设置全屏"
| appWindow |
appWindow := MyPresenter new open window.
appWindow
    extent: Display extent; "铺满整个屏幕"
    position: 0@0;
    beUnresizeable; "可选,禁止调整窗口大小"
    removeLabel. "可选,移除窗口标题栏"

运行命令保持和Pharo 7一致:

Pharo.exe myApp.image st start.st

方式2:直接替换World内容(更彻底)

如果希望完全清空Pharo的默认World,直接把Presenter作为主界面,脚本可以写成:

"清空World所有子组件"
World clearAllSubmorphs.
"将Presenter的Widget直接嵌入World"
MyPresenter new asWidget openInWorld.
"设置World全屏"
World extent: Display extent.

若要避免加载Pharo默认偏好设置(减少多余UI元素),可以添加启动参数:

Pharo.exe myApp.image --no-default-preferences st start.st

其他Smalltalk实现的替代方案

Squeak

Squeak的实现逻辑更直接,启动脚本start.st示例:

"清除所有默认界面元素"
World removeAllMorphs.
"启动自定义组件并全屏"
MyMorph new openInWorld.
World fullScreen.

启动命令:

Squeak.exe myApp.image -script start.st

Dolphin Smalltalk

通过关闭IDE窗口并最大化自定义应用窗口实现,脚本示例:

"关闭所有Workspace和系统窗口"
Workspace closeAll.
SystemWindow allInstances do: [:w | w close].
"启动自定义Presenter并设置全屏无边框"
MyPresenter new open.
ActiveWindow maximize; borderStyle: BorderStyle none.

内容的提问来源于stack exchange,提问作者Sony Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.09 23:03:08