qmessagebox::question如何去掉标题栏
时间: 2024-02-03 14:04:18 浏览: 311
Qt去掉标题栏添加边框阴影
5星 · 资源好评率100%
QMessageBox是一个带有标题栏的窗口,如果要去掉标题栏,需要使用一些平台相关的API来实现,这样会比较麻烦。不过,可以通过设置QMessageBox的一些属性来达到类似的效果,例如:
```cpp
QMessageBox msgBox;
msgBox.setWindowTitle("My Title");
msgBox.setText("My Text");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::No);
msgBox.setEscapeButton(QMessageBox::No);
msgBox.setWindowFlags(msgBox.windowFlags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
msgBox.exec();
```
在这段代码中,我们使用了setWindowFlags()函数来设置QMessageBox的窗口标志。其中,我们使用了位运算符和Qt::CustomizeWindowHint和Qt::WindowTitleHint来去掉标题栏。这样设置之后,QMessageBox就没有标题栏了。但是,这会使得QMessageBox的窗口变得很丑,而且不能移动和关闭,因此这种方法只是一种近似的解决方案,不建议使用。
阅读全文