等待QML界面中两个按钮被点击

Posted

技术标签:

【中文标题】等待QML界面中两个按钮被点击【英文标题】:Wait for two buttons to be clicked in QML interface 【发布时间】:2013-06-21 09:42:00 【问题描述】:

我又一次绝望了。我已将 QML 接口添加到现有 QT C++ 应用程序。知道我想实现这样的东西:

用户想连接图片让他们同步跳过。所以他点击了一个名为“连接”的按钮,然后点击第一张图片,然后点击第二张图片。按钮的信号带有一个 id,因此 connect-Function 知道点击了哪些图片并将最终信号发送到 c++ 部分。

我想要这样的东西:

signal connectGalleys(int id1, int id2)
function connectIDs()
    var id1
    var id2
    id1 = waitFor(onButtonClicked(id))
    id2 = waitFor(onButtonClicked(id))
    saveConnection(id1,id2)
 
 onConnectClicked: connectIDs()

那么,有人知道如何解决这个问题吗?

非常感谢!

【问题讨论】:

【参考方案1】:

据我所知,您不能使用这样的“等待”方法,因为您必须完成对 connectIDs 的调用才能让事件循环接管,并且能够对您的 GUI 执行任何操作(包括选择图片)。

解决方案是拥有“软件模式”,当您点击connect 时,您将模式更改为,例如connectMode,然后返回。现在,当您单击一张图片时,您可以检查模式是否为connectMode,并将其标记为选中。如果已经选择了另一张图片,那么你另外调用connectFinished(),它会做你需要做的任何事情来连接它们,然后返回normalMode中的软件。

【讨论】:

非常感谢,我试试=)

以上是关于等待QML界面中两个按钮被点击的主要内容,如果未能解决你的问题,请参考以下文章

在 Pyside 中执行函数期间等待按钮单击

如何使用phpstudy进行php版本切换

等待元素出现在 TestCafe 的静态按钮上

优化点击确认提交等待其他接口返回数据的用户体验

等待 UIButton 恢复为 UIControlStateNormal

手机界面有遮罩层,元素不可点击就是界面在等待加载