我有一个 QMainWindow,其中心小部件已设置为查看黑色场景的 QGraphicsView(用于测试目的)。请注意,在下面的代码中,我使用了从 QGraphicsView 派生的类,称为 CQtGlView,它仅重新实现了 resizeEvent 函数。
不管我是不是直接加视图,
CQtMainWindow::CQtMainWindow() {
m_glView = new CQtGlView();
setCentralWidget(m_glView);
}
或将其粘贴在虚拟小部件中边距为 0 的布局中,
CQtMainWindow::CQtMainWindow() {
m_glView = new CQtGlView();
QWidget* dummy = new QWidget();
QHBoxLayout* l = new QHBoxLayout();
l->setContentsMargins(0,0,0,0);
l->addWidget(m_glView);
dummy->setLayout(l);
setCentralWidget(dummy);
}
我在小部件周围出现了不需要的灰色边框。
下面的屏幕截图说明了这个问题,在我的场景和 Windows 航空边框之间可见。
如果我的应用程序不允许切换到全屏,这将不是问题。一旦屏幕的其余部分为黑色,边框非常明显。
该区域可能代表中央小部件外部的 DockWidgetAreas。
除了不使用 QMainWindow 之外,我还能做些什么来解决这个问题?(由于我使用了菜单栏、工具栏和状态栏,所以不受欢迎。)