如何从Qt中的Qt MessageBox中删除标题栏?
我已经完成了
QMessageBox::QMessageBox(Icon icon, const QString & title, const QString & text, StandardButtons buttons, QWidget * parent, Qt::WindowFlags f)
但是如何使用它。任何例子? 任何帮助表示赞赏。 感谢。
答案 0 :(得分:7)
这是QMessageBox的构造函数。您可以像使用其他任何构造一样使用它,例如:
QMessageBox msgBox(QMessageBox::Question,
"This is the title",
"This is the text",
QMessageBox::Yes | QMessageBox::No, this,
Qt::FramelessWindowHint);
msgBox.exec();
或
QMessageBox* msgBox = new QMessageBox(QMessageBox::Question,
"This is the title",
"This is the text",
QMessageBox::Yes | QMessageBox::No, this,
Qt::FramelessWindowHint);
msgBox->exec();
在这种情况下,this
是父窗口(QMainWindow
实例)
答案 1 :(得分:0)
在Qt::WindowFlags f
参数中,您可以传递说明如何装饰对话框窗口的选项。
Qt :: Windows标志是| Qt::WindowType
的分隔列表。
默认情况下,对话框将获得Qt::Dialog
类型。如果要更改它,可以尝试使用Qt::FramelessWindowHint
值完全删除对话框周围的标题栏和框架。尝试其他选项可能会让您期望。
答案 2 :(得分:0)
我认为Qt::Sheet
在我的案例中更好。这完全是mac风格......
QtMessageBox::information
会在mac下为您提供Qt::Dialog
样式。