Meego touch基本控件介紹—Button篇
前面我們也寫過關于meegotouch的兩個小程序,相信大家對meegotouch的界面風格都有一定的感觀認識,今天寫了一個關于button的小程序,一起了解下button的性質。至于button的分類和基本概念,可以點擊這里查看。
Button目前有5種,PushButton, ToggleButton, Checkbox, IconButton, SwitchButton。它們都繼承于MButton類,通過設置不同的ViewType來區分。簡單的說,PushButton和IconButton是用來控制行為,自身狀態不發生變化,常用來起始一個動作。而ToggleButton,Checkbox,SwitchButton也是用來控制行為,但是自身的狀態會發生變化,比如是否checkbox是否勾選等等,常用來控制開關狀態。
1.Push button
MButton中最基本的控件,也是默認的控件,直接可以通過new Button(“控件顯示內容”)創建,控件顯示內容也可以通過setText進行設置。其ViewType可以不用設置,也可以設置為MWidgetController::defaultType,通過conect掛載clicked的行為。
pushButton->setViewType(MWidgetController::defaultType);
connect(pushButton, SIGNAL(clicked()), this, SLOT(pushButtonClicked()));
2.Icon Button
顧名思義,應該是圖片按鈕,就是可以給按鈕設置圖片,取代了push button的文字顯示,ViewType需要設置為MButton::iconType,并通過setIcon的方法來設置圖片,但是圖片需要創建一個QIcon的對象。通過connect掛載clicked行為。
iconButton->setViewType(MButton::iconType);
iconButton->setIcon(QIcon("iconbutton.png"));
connect(iconButton, SIGNAL(clicked()), this, SLOT(iconButtonClicked()))
3.Toggle Button, Checkbox, Switch Button
分別設置ViewType為MButton::toggleType,MButton::checkboxType,MButton::switchType,需要設置是否可選通過setCheckable()函數,默認是不可選的。通過connect掛載clicked的行為,clicked會傳遞是否選中的狀態給行為函數。可以通過setChecked(bool)函數來激發以上控件改變狀態。
toggleButton->setViewType(MButton::toggleType);//設置不同的ViewType
toggleButton->setCheckable(true);
connect(toggleButton, SIGNAL(clicked(bool)), this,SLOT(toggleButtonCheckableClicked(bool)));
以上是Button的簡單介紹,具體效果圖