专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > QT开发

QT QDockWidget无法响应setShown(bool)函数实现隐藏和显示解决办法

发布时间:2010-05-30 21:31:38 文章来源:www.iduyao.cn 采编人员:星星草
QT QDockWidget无法响应setShown(bool)函数实现隐藏和显示
我写的一个测试QDockWidget界面,源码设计如下:

//隐藏或显示属性视图docking

ui->PropertyView->setCheckable(true);
ui->PropertyView->setChecked(true);
ui->PropertyView->setVisible(true);
connect(ui->PropertyView,SIGNAL(toggled(bool)),this,SLOT(showDeviceDockWiget(bool)));

以上代码是在构造函数中用到的设置视图菜单中“属性视图”项的关键代码,具体不再解释,现在看一下槽函数showDeviceDockWiget(bool):
void FragmentForensicsUI::showDeviceDockWiget(bool show){

  m_tabWidget->showDeviceDockWiget(show);

}//end of method showDeviceDockWiget

这个函数很简单,直接调用了另一个类的函数showDeviceDockWiget(bool show),这个函数最终调用的函数为:

void DeviceInfoView::setShowDocking(bool show){

  dockWidget->setShown(show);

}//end of method setShowDocking

这个setShowDocking函数就是最终控制docking显示和隐藏的位置。
详细测试源码上传至http://download.csdn.net/source/2093997

现在问题如下:
1、单击视图->属性视图,这个时候docking为何无法隐藏和显示?
2、参考:同样是菜单响应,单击选显卡内的“测试”菜单内的“控制dock”,却能正常控制docking的显示和隐藏。

请问哪位达人给解决一下问题1,谢谢啦!

------解决方案--------------------
看例子:
http://qt.nokia.com/doc/4.6/demos-mainwindow.html
------解决方案--------------------
你是在Linux下开发的吗?我在windows下看界面上有乱码,代码注释几乎都是乱码

基本的思路貌似没有错误setVisible是没有问题的,测试的那个dock能成功就不用说了.
而你要的那个主菜单的“属性视图”为什么不成功呢?

貌似你那个写的实在是太乱了,至少也要给个构架,或者UML吧。

我看你的代码实在是太痛苦了,一点一点的往回找直到找到setVisibel

我还真没看出什么问题,我追踪了一遍,bool传递没有问题,问题应该出在传给子对象传错了吧
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: