通過ToolButton來實現某控制元件的隱藏與顯示,具體功能為點選toolbutton後,某widget(以tabWidget為例)隱藏於左側,toolbutton位於(0,0)座標處,顯示的icon也進行切換;再次點選後,tabwidget展開,toolbutton還原。具體程式碼如下:

b_hideme = true;//需要初始化,否則執行後第一次點選沒反應,第二次點選才隱藏

connect(ui.btn_hide,SIGNAL(clicked()),ui.tabwidget,SLOT(on_btn_hide_clicked()));//注意第三個引數不能是this,否則需要展開時沒有響應,因為第一次tab在視窗中,而第二次點選時tab已不在

void maindlg::on_btn_hide_clicked()

{

if(b_hideme == false)

{

ui.tabwidget->setGeometry(0,0,ui.tabwidget->width(),ui.tabwidget->height());

ui.toolbutton->setGeometry(350,0,20,20);

ui.toolbutton->setArrowType(Qt::LeftArrow);

}

else{

ui.tabwidget->setGeometry(0,0,0,ui.tabwidget->height());

ui.toolbutton->setGeometry(0,0,20,20);

ui.toolbutton->setArrowType(Qt::RightArrow);

}

b_hideme = !b_hideme;

}