Я снова отчаиваюсь. Я добавил интерфейс 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()
Итак, у кого-нибудь есть идеи, как это решить?
Большое спасибо!
Насколько я знаю, у вас не может быть метода wait, подобного этому, поскольку вы должны завершить свой вызов connectIDs
чтобы цикл обработки событий вступил во владение и мог делать что-либо с вашим графическим интерфейсом (включая выбор картинок).
Решение состоит в том, чтобы иметь «программные режимы», и когда вы нажимаете на connect
, вы меняете режим, например, на connectMode
и возвращается. Теперь, когда вы нажимаете на одну картинку, вы можете проверить, если режим connectMode
и отметьте его как выбранный. Если другая картинка уже была выбрана, то звоните дополнительно connectFinished()
, что делает все, что вам нужно сделать, чтобы подключить их, а затем поверните программное обеспечение в normalMode
,
Других решений пока нет …