關(guān)于wxRuby中的布局控件面試題
wxRuby是wxWidgets的Ruby綁定,所以對(duì)于布局類(lèi)的使用和wxWidgets中一樣,主要功能是在 sizer.add 函數(shù)中設(shè)置有關(guān)標(biāo)志做到的。下面是學(xué)習(xí)啦小編為你整理的Ruby面試題,希望對(duì)你有所幫助!
下面是BoxSizer的一個(gè)例子
require "wx" #載入wx庫(kù)文件
include Wx #包含進(jìn)Wx模塊
class MinimalApp < App
def on_init
mainFrame = MyFrame.new
mainFrame.show()
end
end
MinimalApp.new.main_loop #建立MinimalApp實(shí)例并進(jìn)入消息循環(huán)
自定義窗口類(lèi)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)) #建立一個(gè)主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()函數(shù)第二個(gè)參數(shù)是縮放因子,0表示固定大小,其它值表示對(duì)空白空間占用大小的劃分比例,如果有兩個(gè)控件其參數(shù)
#值分別為 1 2 則表示 第1個(gè) 占空白大小的 1/3 第二個(gè)為 2/3
#第三個(gè)參數(shù)為布局控件標(biāo)記, 這個(gè)有很重要的作用,比如 控件隨布局控件一起改變大小, 控件上下左右的邊距等等
#詳細(xì)的標(biāo)記種類(lèi)及說(shuō)明可以查看 <<使用wxWidgets進(jìn)行跨平臺(tái)程序開(kāi)發(fā)>> 的第240頁(yè)
@sizer.add(@notebook,1,Wx::GROW|Wx::ALL,10)
@mainPanel.set_sizer(@sizer)
end
end
面試題相關(guān)文章: