QT左侧自定义栏收进

QT左侧自定义栏收进

成果演示:

  • 收进去前
    QT左侧自定义栏收进_第1张图片

  • 收进去后
    QT左侧自定义栏收进_第2张图片

具体操作方法:
1. 绘制出如下的ui,注意frame必不可少,蓝黄均为frame,为了演示清楚才加入背景色。蓝黄两块之间是splitter。

QT左侧自定义栏收进_第3张图片
具体框架如下:
QT左侧自定义栏收进_第4张图片
收缩按钮要放入一个单独的frame中,因为需要收进去不能受到栅格化的影响
QT左侧自定义栏收进_第5张图片
收缩按钮与spacer栅格化后的比例参考:
QT左侧自定义栏收进_第6张图片

2. 收缩按钮转到槽

QT左侧自定义栏收进_第7张图片
因为需要收进去的是黄色块,记住它的frame名称——frame_2
QT左侧自定义栏收进_第8张图片
QT左侧自定义栏收进_第9张图片

具体代码如下:

void MainWindow::on_pushButton_clicked()
{
    //判断是否已经收进去
    bool flag = ui->frame_2->isHidden();
    if(flag == false)
    {
        ui->frame_2->setVisible(false);
        ui->pushButton->resize(30,30);
        ui->pushButton->setText(">>>");
    }
    else if(flag == true)
    {
        ui->frame_2->setVisible(true);
        ui->pushButton->resize(130,30);
        ui->pushButton->setText("<<<");

    }
}

你可能感兴趣的:(QT,qt)