首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxHaskell:初始帧大小太小

wxHaskell:初始帧大小太小
EN

Stack Overflow用户
提问于 2013-02-21 12:06:48
回答 2查看 755关注 0票数 1

在安装了WxHaskell和gtk2hs之后,我正在与两者一起玩,以确定它们中的哪一个可以选择。对于WxHaskell,我正在研究WxHaskell at haskell.org的文档。以下第一个示例来自“快速启动”部分:

代码语言:javascript
复制
 -- Copied from www.haskell.org/haskellwiki/WxHaskell/Quick_start

 module Main where
 import Graphics.UI.WX

 main :: IO ()
 main
   = start hello

 hello :: IO ()
 hello
   = do f    <- frame    [text := "Hello!"]
        quit <- button f [text := "Quit", on command := close f]
        set f [layout := widget quit]

禁闭

代码语言:javascript
复制
 Debug: wxColour::Set - couldn't set to colour string 'MEDIUM GREY'

和类似于以下不同图像文件格式的行

代码语言:javascript
复制
 Debug: Adding duplicate image handler for 'PNG file'

该代码编译精细,并将其加载到GHCi中。但是,运行时出现的窗口的高度为零,只有窗口的顶部条是可见的,而无需手动调整窗口大小以包括按钮。这在编译和加载到GHCi时都会发生。在GHCi中,当执行main的第二次和以后的任何时间时,高度将是正确的。如果我关闭并重新启动一个GHCi会话,将会是“平面的”,并且在第一次调用main时不包括按钮,但是在下面的任何调用中都是正确的。当编译代码并在GHCi外部运行时,窗口总是平坦的。

这是一个错误,还是本教程过时了,还是其他我遗漏的东西?

EN

回答 2

Stack Overflow用户

发布于 2013-02-22 11:59:16

从你上面的评论来看,这可能不是你想要的,但作为参考.

您可以设置最小大小,而不是设置大小:

代码语言:javascript
复制
set f [layout := minsize (sz 300 200) $ widget quit]
票数 3
EN

Stack Overflow用户

发布于 2014-04-19 02:32:39

您可以以在C++中使用C++(即布局)的方式进行此操作。

例如,您可以使用方框式筛选器:

代码语言:javascript
复制
module Main where

import Data.Bits

import Graphics.UI.WX
import Graphics.UI.WXCore.WxcDefs
import Graphics.UI.WXCore.Frame
import Graphics.UI.WXCore.WxcClassesAL
import Graphics.UI.WXCore.WxcClassesMZ
import Graphics.UI.WXCore.WxcTypes

main :: IO ()
main = start simple

simple :: IO ()
simple = do
    hbox <- boxSizerCreate wxHORIZONTAL
    window <- frame [text := "Title"] 
    quitButton <- button window [text := "Quit", on command := close window]
    exitButton <- button window [text := "Exit", on command := close window]
    windowSetSizer window hbox
    sizerAddWindow hbox exitButton 1 (wxEXPAND .|. wxALL) 5 ptrNull
    sizerAddWindow hbox quitButton 1 (wxEXPAND .|. wxALL) 5 ptrNull
    frameCenter window
    return ()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15001883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档