搜索工作 |
搜索工作 公司点评 查工资 看趋势
微信

使用微信服务,更方便

职友集>Ruby面试题 > wxRuby 中的布局控件

wxRuby 中的布局控件

2015-11-30 06:30:03 阅读( 73 )

2774人 收藏本页

标签:Ruby面试题

wxRuby是wxWidgets的Ruby绑定,所以对于布局类的使用和wxWidgets中一样,主要功能是在 sizer.add 函数中设置有关标志做到的。

下面是BoxSizer的一个例子

require "wx" #载入wx库文件
include Wx #包含进Wx模块

class MinimalApp < App
def on_init
mainFrame = MyFrame.new
mainFrame.show()
end
end

MinimalApp.new.main_loop #建立MinimalApp实例并进入消息循环

自定义窗口类MyFrame,用于做为主窗口

class MyFrame < Frame
def initialize
super(nil, -1, "Changing Icons!", Wx::DEFAULT_POSITION, Wx::Size.new(425,450))
@mainPanel=Panel.new(self,1003,Wx::DEFAULT_POSITION,Wx::Size.new(425,450)) #建立一个主panel,用于放置所有控件
@notebook_style = Wx::AUI_NB_DEFAULT_STYLE|Wx::AUI_NB_TAB_EXTERNAL_MOVE|Wx::NO_BORDER
@notebook = Wx::AuiNotebook.new(@mainPanel,1005,DEFAULT_POSITION,Wx::Size.new(400,450),@notebook_style)

#@notebook.set_left_dockable(true)

@notebookPage1 = Panel.new(@notebook,1006)
@notebookPage2 = Panel.new(@notebook,1006)
@notebook.add_page(@notebookPage1,"第一")
@notebook.add_page(@notebookPage2,"第二")

@sizer= BoxSizer.new(VERTICAL)

#sizer.add()函数第二个参数是缩放因子,0表示固定大小,其它值表示对空白空间占用大小的划分比例,如果有两个控件其参数
#值分别为 1 2 则表示 第1个 占空白大小的 1/3 第二个为 2/3
#第三个参数为布局控件标记, 这个有很重要的作用,比如 控件随布局控件一起改变大小, 控件上下左右的边距等等
#详细的标记种类及说明可以查看 <<使用wxWidgets进行跨平台程序开发>> 的第240页

@sizer.add(@notebook,1,Wx::GROW|Wx::ALL,10)

@mainPanel.set_sizer(@sizer)

end

end

下一篇:wxRuby编写的简单计算器

上一篇:wxRuby尝鲜

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题