如何隐藏QML中用作消息弹窗的Dialog的标题栏?
隐藏Qt Quick Controls 2 Dialog标题栏的方法
当然有办法啦!在Qt Quick Controls 2的Dialog组件中,你可以通过以下简单方式隐藏标题栏:
方法一:设置header为null
Dialog的默认标题栏是由其header属性控制的,直接将该属性设为null就能快速隐藏标题栏,同时保留你自定义的内容和标准按钮。
修改后的代码如下:
import QtQuick 2.7 import QtQuick.Controls 2.2 Dialog { standardButtons: DialogButtonBox.Ok // 隐藏标题栏 header: null property alias text : textContainer.text Text { id: textContainer anchors.fill: parent horizontalAlignment: Qt.AlignLeft verticalAlignment: Qt.AlignTop } }
方法二:自定义contentItem(进阶)
如果需要对Dialog的整体布局做更深度的自定义,你可以重写contentItem属性,完全控制对话框内的内容区域,这样默认的标题栏自然就不会显示了。示例如下:
import QtQuick 2.7 import QtQuick.Controls 2.2 Dialog { standardButtons: DialogButtonBox.Ok property alias text : textContainer.text // 自定义内容区域,替代默认布局 contentItem: Text { id: textContainer anchors.fill: parent horizontalAlignment: Qt.AlignLeft verticalAlignment: Qt.AlignTop } }
第一种方法更简洁,完全适配你的需求,直接添加header: null就能轻松搞定~
内容的提问来源于stack exchange,提问作者Sanket Joshi
相关产品推荐
相关产品推荐

