【发布时间】:2018-01-01 13:40:19
【问题描述】:
我正在构建一个 Qt Quick QML 应用程序,一个按钮启动一个需要一段时间才能运行的进程。我想让用户知道该程序实际上正在做某事,但如果我这样做:
Button {
text: "Click me"
onClicked: {
text = "Loading..."
backend.longRunningFunction()
text = "Click me"
}
}
当我单击按钮时,GUI 在backend.longRunningFunction() 运行时冻结,然后恢复正常。但是文本永远不会改变;它总是显示“点击我”。
有没有办法强制 UI 在 onClicked 函数中更新,例如 qApp.processEvents()?
【问题讨论】: