如何在 QML 中设置 MessageDialog 的默认按钮?

Posted

技术标签:

【中文标题】如何在 QML 中设置 MessageDialog 的默认按钮?【英文标题】:How to set the default button of a MessageDialog in QML? 【发布时间】:2015-04-30 06:22:55 【问题描述】:

默认按钮是“是”,但我想将“否”按钮设置为默认按钮。

怎么做?

【问题讨论】:

向我们展示您的代码,,,帮助我们帮助您... 我认为这是一种不需要代码的情况,只要您对框架及其术语有一定的了解即可。 【参考方案1】:

我看不出有任何方法可以通过当前的 MessageDialog API 实现这一点,但我也认为这是非常特定于平台的,这就是它被隐藏的原因。

不过,您可以制作自己的对话:

import QtQuick 2.3
import QtQuick.Window 2.0
import QtQuick.Controls 1.2
import QtQuick.Dialogs 1.2

Window 
    width: 500
    height: 500
    visible: true

    Dialog 
        id: dialog
        visible: true

        contentItem: FocusScope 
            Row 
                anchors.bottom: parent.bottom
                anchors.right: parent.right

                Button 
                    text: "No"
                    isDefault: true
                    focus: true
                    onClicked: dialog.close()
                
                Button 
                    text: "Yes"
                
            
        
    

【讨论】:

感谢您阻止我继续寻找解决方案。我花了这么多时间。

以上是关于如何在 QML 中设置 MessageDialog 的默认按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 QtWebEngine QML 应用程序中设置用户代理

如何在 QML 中设置正确的路径到离线 OSM 目录(不使用 qrc)?

如何在 Qt QML (QtQuick 2) 中设置 Material Dark Theme?

在 QML 中设置子项属性的正确方法

在 QML 中设置 ListElement 的图标颜色

有没有办法在 QML 中设置线性渐变 stepwith