如何在ListModel(QML,Qt)中显示弹出窗口

时间:2018-12-06 14:32:32

标签: qt qml

我正在使用QML开发GUI。

在名为List.qml的文件中,有一个如下所示的ListModel:

List.qml

@Module
class UserModule {
    @Provides
    @UserScope
    fun providesPreLoader() = PreLoader()
}

例如,在这个QML文件中,我想在sens值达到9时弹出一个窗口。

我尝试在ListModel的内部和外部放置一个Popup,但通常会出现语法错误。

我的问题是我如何才能使用ListModel在ListModel中显示弹出窗口,而不必使用弹出窗口。

谢谢

1 个答案:

答案 0 :(得分:0)

首先,您需要检测列表模型的项数。您可以使用onCountChanged信号。该数字是显示对话框时的最大值。

ListModel {
    id: model
    onCountChanged: {
        console.log("onCountChanged count:" model.count)
        if (model.count > MAX ) {
           dialog.visible = true
        }
    }
 }

Dialog {
    id: dialog
    width: 400
    height: 200
    visible: false
}