使用 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();
}
如果使用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();
}
macOS Sierra、Qt 5.9.1、VTK 8.0.0(我在以前版本的 VTK 中也观察到了这种行为)。