关于qtchart的一个奇怪的问题,当我将窗口拖动到另一个屏幕时,它将消失

时间:2019-03-28 14:43:41

标签: c++ qt

最近,我重构了代码,几乎完成了,但是QtChart的工作很奇怪,您是否遇到过类似的问题,当将窗口移到另一个屏幕时发生了意外的事情?

我有两个屏幕,在这里叫A和B。 将窗口移到另一个屏幕时发生了意外情况:

  • 例如,如果在A中生成的程序窗口在A中正常运行,但是,如果将其移至B,即使将其移回A,QtChart的所有openglwidget也将消失,即使反之,如果在B中生成,然后将其移至A,则问题是相同的。

  • 当消失时,我漂浮(setWindowFlag(Qt :: Window,true);)包含qtChart的小窗口,openglWidget将显示,然后将littlt窗口移至另一个屏幕,它可以正常工作,但是如果我将其嵌入(setWindowFlag(Qt :: Window,false);)回到主窗口,则openglWidget将再次消失。

  • 另一个问题是,将窗口移到另一个屏幕后,当我将鼠标悬停在QSplitter的手柄上时,CursorShape不会改变,但是如果拖动手柄,拆分器仍然可以工作。

下面有一些设置,但这不应该是这个问题的原因,因为先前的版本是相同的,但是可以正常使用。 所有窗口都是自定义的:

setWindowFlags(Qt::Window |Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);

openglWidget的捕获指针仅用于屏幕截图:

chart_ = new QChart;
view_ = new QChartView(chart_);
glTempSeries_ = new QLineSeries(this);
glTempSeries_->setUseOpenGL(true);
chart_->addSeries(glTempSeries_);
glTempSeries_->attachAxis(axisX_);
glTempSeries_->attachAxis(axisY_);
glTempSeries_->setVisible(false);
openglWidget_ = view_->findChild<QOpenGLWidget*>();

我真的尝试过,但是我仍然找不到原因,谢谢任何建议。

enter image description here

enter image description here

enter image description here

0 个答案:

没有答案