尝试这个:
mdiArea->addSubWindow(new QLabel("Qt::FramelessWindowHint"), Qt::FramelessWindowHint);
您不想将 MDI 区域本身设置为无框架窗口,因为它是您可能已嵌入另一个窗口中的小部件……它很可能已经没有框架。
您设置“子窗口”应该可以工作......但addSubWindow(myWidget)
实际上包装了在真实子窗口中传入的小部件,所以这就是问题所在。Qt 允许您将窗口标志作为第二个参数传递,addSubWindow()
这些标志将转到真正的子窗口。
请注意,对于无框窗口,您不能拖动窗口来移动它,或者抓住边缘来调整它的大小,因为您没有任何东西可以抓住!
如果您只希望最小化和最大化按钮消失(但仍需要关闭按钮),请尝试通过Qt::Dialog
。
也尝试尝试这些:
addSubWindow(new QLabel("Qt::Tool"), Qt::Tool);
addSubWindow(new QLabel("Qt::Tool|Qt::CustomizeWindowHint"), Qt::Tool|Qt::CustomizeWindowHint);
addSubWindow(new QLabel("Qt::Dialog"), Qt::Dialog);
我认为Qt::Tool|Qt::CustomizeWindowHint
可能是最好的选择(没有按钮,但仍然可以移动和调整大小 - 如果您不希望它调整大小,请给它一个固定大小(setFixedSize()
)。
编辑:也尝试:Qt::CustomizeWindowHint|Qt::WindowTitleHint