等待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界面中两个按钮被点击的主要内容,如果未能解决你的问题,请参考以下文章