强制刷新Qt Quick中的界面

问题描述 投票:2回答:1

我正在构建Qt Quick QML应用程序,并且一个按钮启动了一个过程,该过程需要一段时间才能运行。我想让用户知道该程序实际上正在做某事,但是如果我做这样的话:

Button {
    text: "Click me"
    onClicked: {
        text = "Loading..."
        backend.longRunningFunction()
        text = "Click me"
     }
}

当我单击按钮时,GUI在backend.longRunningFunction()运行时冻结,然后恢复正常。但是文字永远不会改变。它始终显示为“单击我”。

[有没有一种方法可以强制UI在onClicked函数中进行更新,例如qApp.processEvents()

qt qml qt5 qtquick2
1个回答
0
投票

尝试这样的事情:

Button {
id: button1
text: "Click me"
onClicked: {
    button1.text = "Loading..."
    backend.longRunningFunction()
    button1.text = "Click me"
 }}
© www.soinside.com 2019 - 2024. All rights reserved.