2

使用 macOS 全屏显示时,QMainWidow的顶部工具栏出现图形故障。在中央小部件中使用QVTKWidget时会出现此问题。

重现问题的最小程序:

#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include <QToolBar>
#include <QVTKWidget.h>

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);

  QMainWindow * window = new QMainWindow();
  QVTKWidget * widget = new QVTKWidget(window);
  window->setCentralWidget(widget);
  QToolBar * toolBar = new QToolBar(window);
  window->addToolBar(Qt::TopToolBarArea, toolBar);

  window->show();
  return app.exec();
}

图1

如果使用QWidget而不是QVTKWidget,则不会发生故障:

#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include <QToolBar>
#include <QVTKWidget.h>

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);

  QMainWindow * window = new QMainWindow();
  QWidget * widget = new QWidget(window);
  window->setCentralWidget(widget);
  QToolBar * toolBar = new QToolBar(window);
  window->addToolBar(Qt::TopToolBarArea, toolBar);

  window->show();
  return app.exec();
}

图2

macOS Sierra、Qt 5.9.1、VTK 8.0.0(我在以前版本的 VTK 中也观察到了这种行为)。

4

0 回答 0