QT ToolBar 工具栏浮动状态

【生活经历分享】华师国培 华师伴学 合同都是坑 消费者付款后无法退款
和华师国培签合同需小心,合同中都是保护华师的条款,没有保护消费者的条款。
收到钱,就算你因对培训质量不满意,也不能退款。因合同消费者维权肯定十分艰难。
华师伴学的授课方式是看录制的视频,不是真人现场教学。是否是您和孩子想要的学习方式?
各位打算报名的,交费要谨慎!

其他人在小红书上发的,转:
深圳市华师国培教育科技有限公司,黑心机构,大家擦亮眼睛,别被骗了,消费欺诈,虚假承诺,签合同各种坑,收到钱了不履行承诺不退款,乱扣费,维权艰难! - 小红书

 

想实时获取到 QT ToolBar 工具栏浮动的状态,以实时调整窗体的布局。 先使用查找引擎,发现找不到什么有用的文章。 只能查 QT Help,最后获取到使用 SIGNAL topLevelChanged 可以达到目的。

于是写了如下的代码,没有使用 QT IDE 集成环境的提示(失败在这里,在自己还不熟悉 QT SIGNAL 的情况下):

connect(toolBar,SIGNAL(topLevelChanged()),this,SLOT(toolBarFloat()));

 

定义 SLOT toolBarFloat:

void MainWindow::toolBarFloat(bool topLevel)
{
    qDebug() << "toolBar floating: " << topLevel;
}

 声明 SLOT:

public slots:
    void toolBarFloat(bool topLevel);

 

都是按 SIGNAL 的原型:

void QToolBar::topLevelChanged(bool topLevel) [signal]

 运行后发现没有实现想要的目的,即没有执行 MainWindow::toolBarFloat 函数。

查来查去也没有发现什么问题,最后重写了 connect 语句,使用了 QT IDE 的提示。完成的语句如下:

connect(toolBar,SIGNAL(topLevelChanged(bool)),this,SLOT(toolBarFloat(bool)));

 拖动工具栏浮动/停靠窗体时,在“应用程序输出”窗体中终于看到如下的内容:

toolBar floating:  true
toolBar floating:  false

 

posted @ 2016-04-14 22:49  91program  阅读(5503)  评论(0)    收藏  举报