如何放置GUI面板?

时间:2016-05-20 17:17:51

标签: user-interface racket panel

我在Racket做了一个游戏项目,我被困在图形部分上。我想创建一个这样的框架:

enter image description here

我想要加载我的游戏game-canvas(我的代码中未提及的游戏),灰色区域应该不包含任何内容(仅灰色),按钮应该用于游戏(目前没有按钮的回调程序。)

我的代码:

#lang racket/gui

(define *our-frame*
  (new frame%
       [width 600]
       [height 800]
       [x 1000]
       [y 100]
       [label "Label"]
       [style '(no-resize-border)]
       ))

(define *game-panel*
  (new vertical-panel%
       [parent *our-frame*]
       [style '(border)]
       [alignment '(left center)]
       ))

(define *button-panel*
  (new vertical-panel%
       [parent *our-frame*]
       [style '(border)]
       [alignment '(right bottom)]
       ))

(define *game-button*
  (new button%
       [parent *button-panel*]
       [label "Pause"]
       [min-width 200]
       [min-height 100]
       ))

(define *new-game-button*
  (new button%
       [parent *button-panel*]
       [label "New Game"]
       [min-width 200]
       [min-height 100]
       ))

(send *our-frame* show #T)

此代码将生成一个框架(至少看起来像)两个水平面板,右下角有两个按钮。我怎么能解决这个问题,看起来像我的照片呢?我试图改变面板上的对齐方式,但没有什么好处......简单易懂,但是我第一次做图形编码所以我责怪......

感谢所有答案!

编辑: 在代码中,我的button1和button2等于暂停和新游戏

1 个答案:

答案 0 :(得分:3)

框架将面板堆叠在一起。 因此,我们需要创建一列两列:左列和右列。 在左栏中我们放置了游戏画布,在右侧我们放置了带有按钮的面板。

添加行后,需要调整左/右列 %%条款,所以一切都在正确的地方。

parent