javascript — дождитесь нажатия двух кнопок в интерфейсе QML

Я снова отчаиваюсь. Я добавил интерфейс QML в существующее приложение QT C ++. Знайте, я хочу реализовать что-то вроде этого:

Пользователь хочет подключиться к изображениям, чтобы позволить им пропускать синхронно. Поэтому он нажимает кнопку «Соединить», затем на первом изображении, а затем на втором. Сигналы кнопок идут с идентификатором, поэтому функция Connect знает, какие изображения были нажаты, и отправляет окончательный сигнал в часть 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

Решение

Насколько я знаю, у вас не может быть метода wait, подобного этому, поскольку вы должны завершить свой вызов connectIDs чтобы цикл обработки событий вступил во владение и мог делать что-либо с вашим графическим интерфейсом (включая выбор картинок).

Решение состоит в том, чтобы иметь «программные режимы», и когда вы нажимаете на connect, вы меняете режим, например, на connectModeи возвращается. Теперь, когда вы нажимаете на одну картинку, вы можете проверить, если режим connectModeи отметьте его как выбранный. Если другая картинка уже была выбрана, то звоните дополнительно connectFinished(), что делает все, что вам нужно сделать, чтобы подключить их, а затем поверните программное обеспечение в normalMode,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]