• 1057阅读
  • 0回复

[提问]程序setup时有的控件为空指针有的控件又正常的问题 [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 楼主  发表于: 2021-06-15
我在ui文件中设置了两个dockwidget控件,然后我需要他们可以在我拖动主窗体的时候跟随移动或者隐藏
我现在使用的方法是通过重写moveEvent来实现,但是在程序运行时又出现一个我无法理解的问题,下面代码中的dataDockreconstructDock是我创建的两个控件
在程序setup的时候会触发moveEvent,这个时候就出现问题了,dataDock的move可以正常调用,不是空指针,但是reconstructDock显示空指针无法设置它的hide()状态
请问这是哪里出了问题?
下面是moveEvent中的代码
  1. void CloudViewer::moveEvent(QMoveEvent* ev)
  2. {
  3.         QMainWindow::moveEvent(ev);
  4.         int posX = this->geometry().x();
  5.         int posY = this->geometry().y();
  6.         int mainWindowWidth = this->geometry().width();
  7.         int mainWindowHeight = this->geometry().height();
  8.         ui.dataDock->move(posX + mainWindowWidth - ui.dataDock->geometry().width() - 50, posY + 100);
  9.         if (!ui.reconstructDock->isHidden())
  10.                 ui.reconstructDock->hide();
  11. }


快速回复
限100 字节
 
上一个 下一个