【问题标题】:QtQuick - button onClick eventQtQuick - 按钮 onClick 事件
【发布时间】:2014-08-28 11:33:47
【问题描述】:

背景故事

所以我最近决定尝试 Qt。我开始制作 QtQuick 应用程序。在我的设计器视图中,我有一个按钮和一个鼠标区域。


我想做的事:

当我点击按钮时,我想显示一个带有一些文本的消息框(例如“Hello World”)。


我的问题

我该怎么做?


其他信息

我尝试用谷歌搜索它,我尝试关注 this 的答案。但还是一无所获。 我知道如何在 .Net(C# 和 VB)中编程,我对 C/C++ 有一些了解,但 Qt 对我来说似乎很难

【问题讨论】:

    标签: qt qml qtquick2 qt-quick qtquickcontrols


    【解决方案1】:

    这个怎么样:

    import QtQuick 2.0
    import QtQuick.Controls 1.0
    import QtQuick.Dialogs 1.1    
    
    Rectangle {
        width: 360
        height: 360
    
        MessageDialog {
            id: msg
            title: "Title"
            text: "Button pressed"
            onAccepted: visible = false
        }
    
        Button {
            text: "press me"
            onClicked: msg.visible = true
        }
    }
    

    如果您更喜欢使用任意属性动态实例化对话框而不是将其“硬编码”,请遵循answer 中的第一个 sn-p。您还可以在createQmlObject() 中设置属性,而不是隐藏对话框,只需使用destroy() 将其删除。

    【讨论】:

      【解决方案2】:

      您必须使用信号和插槽才能触发事件。您可以使用弹出的 QMessageBox 来显示 Hello world。

      【讨论】:

      • 将 QtQuick 与 QWidgets 混合使用是个坏主意。而且不必要的乏味。已经有 QML 消息框组件了。
      猜你喜欢
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 2014-04-04
      • 2018-06-24
      相关资源
      最近更新 更多