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
对于控件的信号与槽等基础技术在这里不再累赘,直接进入关键技术点:
本例程中,当按下按钮时,列表框上移,按钮与列表框之间的控件隐藏;当再次按下按钮时,列表框下移,按钮与列表框之间的控件显示。
一、记录要移动控件的前后位置
声明
[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
相关文章推荐
- QT中QFileDialog的使用
- QT数据库实例操作(二)
- QT pro工程文件的格式
- Qt5多线程
- Qt5事件处理及实例
- qt.conf和qtconfig配置Qt运行设定
- QT程序打包部署
- qt里产生随机数
- Windows下Qt的MySQL驱动编译方法及异常错误解决方案
- Qt on_pushButton_clicked()的用法
- Qt使用教程之指定运行设置(一)
- Qt中图像的显示与基本操作
- qt的QListwiget设置横向的排列
- Qt入门-列表框QListWidget类
- qt鼠标事件
- 编译Spark出现MQTT失败的解决
- QSerialPort适应多线程应用的改进
- 自学QT之QML实现响应鼠标和键盘事件
- 自学QT之libpng warning: iCCP: known incorrect sRGB profile
- qt 窗口置顶/真透明/背景模糊/非矩形/跳过任务栏分页器/无边框/无焦点点击/焦点穿透