關於Qt實現側邊欄隱藏與顯示的效果
阿新 • • 發佈:2019-02-01
通過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;
}