[QT] 如何优雅地去掉对话框的问号
QT 对话框的问号是什么?
QDialog 默认的 window flag 中包含了 Qt::WindowContextHelpButtonHint,这个 flag 意思是在窗口上提供 "上下文帮助" 按钮
使用方式为,调用
void QWidget::setWhatsThis(const QString &) |
比如:
ui.lineEditName->setWhatsThis(u8"lineEdit 的上下文提示");
效果如下:
优雅地去掉对话框的问号
去掉该问号其实就是取消该 flag 即可,然而网上随便一搜索便是各种不优雅的实现,比如 [这里], 还有 [这里],这些实现都重置了窗口的原有属性,而这里问题只是要纯粹地取消 Qt::WindowContextHelpButtonHint 的属性
这里提供 3 个优雅的去除单个 window flag 的方式:
//方法一:获取所有标志位,使用 &(按位与) 和 ~(按位取反) 两种位运算将标志位置0 setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
//方法二:获取所有标志位,使用 ^(按位异或) 位运算将标志位置0 setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
//方法三:直接设置单个标志位,参数 on=false setWindowFlag(Qt::WindowContextHelpButtonHint, false);
版权声明 本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者 BensonLaur 和本文原始地址: https://www.cnblogs.com/BensonLaur/p/16906055.html |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2016-11-19 linux —— shell 编程(文本处理)