修复GTK小部件的大小?

时间:2010-02-16 00:23:44

标签: haskell gtk drawing widget gtk2hs

我试图在GTK +中修改小部件的大小,特别是在Haskell中使用Gtk2hs。

我在DrawingArea中绘制了一个图像,我想指定此绘图区域的确切大小。我不希望其他小部件或用户使这个小部件变大或变小。这可能吗?

注意,我在Ubuntu 9.10下使用ghc版本6.10.4。 Gtk2hs版本0.10.1。

2 个答案:

答案 0 :(得分:3)

您可以调用gtk_widget_set_size_request()以使窗口小部件请求固定的高度和宽度。你必须确定Haskell的等价物。

请注意,这通常是一个Bad Idea(TM),您应该安排容器和子包装属性,以便控件的大小适当。例如,如果您正在对大小请求值进行硬编码,则更改图像大小将需要更改代码。

答案 1 :(得分:1)

用于修复窗口小部件大小的Gtk2Hs函数是:

widgetSetSizeRequest 
  :: WidgetClass self    
  => self    
  -> Int    
  -> Int    
  -> IO ()

带有参数:

  1. 小部件
  2. 小工具的宽度
  3. 小工具的高度