通过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;
}