您的位置:首页 > 编程语言 > Qt开发

Qt5之控件的隐藏显示与移动

2015-11-23 22:42 716 查看
本例程实现控件的隐藏、显示,以及控件的移动。

对于控件的信号与槽等基础技术在这里不再累赘,直接进入关键技术点:

本例程中,当按下按钮时,列表框上移,按钮与列表框之间的控件隐藏;当再次按下按钮时,列表框下移,按钮与列表框之间的控件显示。




一、记录要移动控件的前后位置

声明

[cpp] view
plaincopy

/** @brief 列表控件上移位置矩形*/

QRect listMatchResultUpRT;

/** @brief 列表控件下移位置矩形*/

QRect listMatchResultDnRT;

定义

[cpp] view
plaincopy

void featureMatchQtDlgI::initAdvancedControlRT()

{

listMatchResultUpRT = ui->labelInitSamplePro->geometry();

listMatchResultDnRT = ui->listMatchResult->geometry();



listMatchResultUpRT.setWidth(listMatchResultDnRT.width());

listMatchResultUpRT.setHeight(listMatchResultDnRT.height());

}

二、移动隐藏与移动显示函数

移动隐藏

[cpp] view
plaincopy

void featureMatchQtDlgI::hideAdvancedControl()

{

ui->labelInitSamplePro->setVisible(false);

ui->labelContrastThreshold->setVisible(false);

ui->labelMatchThreshold->setVisible(false);

ui->labelMaxMatchNumber->setVisible(false);

ui->combInitSampPro->setVisible(false);

ui->spinContrastThreshold->setVisible(false);

ui->spinMatchThreshold->setVisible(false);

ui->spinMaxMatchNumber->setVisible(false);



ui->listMatchResult->setGeometry(listMatchResultUpRT);



}

移动显示

[cpp] view
plaincopy

void featureMatchQtDlgI::showAdvancedControl()

{

ui->listMatchResult->setGeometry(listMatchResultDnRT);



ui->labelInitSamplePro->setVisible(true);

ui->labelContrastThreshold->setVisible(true);

ui->labelMatchThreshold->setVisible(true);

ui->labelMaxMatchNumber->setVisible(true);

ui->combInitSampPro->setVisible(true);

ui->spinContrastThreshold->setVisible(true);

ui->spinMatchThreshold->setVisible(true);

ui->spinMaxMatchNumber->setVisible(true);

}

三、按钮槽函数

[cpp] view
plaincopy

static bool isOpenAdvancedSetting = false;

if(isOpenAdvancedSetting)

{

isOpenAdvancedSetting = false;

hideAdvancedControl();

}

else

{

isOpenAdvancedSetting = true;

showAdvancedControl();

}

程序运行结果:







FROM: http://blog.csdn.net/cxp2205455256/article/details/44961597
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: