如何多次询问来自QML对话框的输入?

How to ask input from a QML Dialog multiple times?

本文关键字:对话框 输入 QML 何多次      更新时间:2023-10-16

我对Qt不是很有经验,我很难做我想做的事。

在我的应用程序中,我在磁盘上搜索带有密码的存档文件(该部分有效(,每次找到一个新的加密存档时,我都想询问用户输入密码。

如果我在用户没有提供任何密码的情况下找到多个文件,我希望第一个密码的对话框保持可见,直到给出该密码,然后可以显示下一个密码的对话框,依此类推。

我使用某种队列来记住哪些档案需要密码,我正在尝试显示和隐藏一个独特的对话框(实际上是弹出窗口(,其中包含每个档案的信息,并从里面的 TextField 获取密码。与此同时,我的应用程序正在 c++ 代码中执行其他操作,例如搜索存档并在给定密码正常时提取它们。

我的问题是它并没有真正起作用。对话框显示第一次,我得到了第一个密码,但随后对话框没有显示下一个密码。有时我可以第二次看到对话框,持续几毫秒,然后在没有用户交互的情况下消失。我的应用程序被阻止,因为如果没有未询问的密码,它就无法继续。

我知道我做错了什么,但我不明白到底是什么。 谁能帮忙?

我不知道我是否很清楚,英语(显然(不是我的母语。

我发现了我的错误。

我做了一个基于弹出窗口的组件。 在"检查"或"跳过"按钮的onClicked函数中,我正在做两件事:发送accept((或refused((以触发自定义操作,然后关闭对话框。

我按该顺序执行此操作,因此接受或拒绝的操作(除其他外,触发了"下一个"密码对话框的可见性(发生在关闭事件之前,该事件将对话框可见性设置为 false。

我换了顺序,好多了。 我现在觉得有点傻,但至少我找到了。