赞
踩
要去掉 Qt 对话框的标题栏上的问号图标,你可以使用 Qt::CustomizeWindowHint
标志来定制对话框的窗口样式。
以下是一个示例代码,演示如何去掉标题栏上的问号图标:
- #include <QDialog>
- #include <QDialogButtonBox>
- #include <QVBoxLayout>
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
-
- QDialog dialog;
- dialog.setWindowTitle("Custom Dialog");
-
- // 去掉标题栏上的问号图标
- Qt::WindowFlags flags = dialog.windowFlags();
- flags &= ~Qt::WindowContextHelpButtonHint;
- dialog.setWindowFlags(flags);
-
- // 添加其他对话框内容
- QVBoxLayout layout(&dialog);
- layout.addWidget(new QLabel("This is a custom dialog."));
- layout.addWidget(new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel));
-
- dialog.show();
-
- return a.exec();
- }
在上面的代码中,我们先获取了对话框的窗口标志 flags
,然后通过按位与和按位取反操作来删除 Qt::WindowContextHelpButtonHint
标志,该标志对应标题栏上的问号图标。最后,我们使用 setWindowFlags
方法来设置更新后的窗口标志。
运行上述代码后,你会看到对话框的标题栏上已经没有问号图标了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。