Изменение значения слайдера захвата QtLua - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь создать простой пользовательский интерфейс, используя qtlua, в котором я хочу записывать значение слайдера при каждом его изменении. Я пытался подключиться к сигналу valueChanged (), но qlua выдает мне следующую ошибку:

cannot find source signal valueChanged()

Фрагмент кода выглядит следующим образом:

slide = (widget.sliderLight)
    print(slide)
    qt.connect(slide, 'valueChanged()',
                 function()
                     print('Value: ', slide.value)
                 end)

Так что просто тест для печати при каждом изменении значения. Но я не могу заставить его работать. В документации по qtlua нет класса для qslider, так что для меня это тупик. И я не смог найти примеров использования qtlua со слайдером, который связан с сигналом valueChanged (). Единственный пример, который я нашел, был с test.lua в примере qtuiloader, но он использует таймер, который, как я полагаю, объединяется через регулярный интервал. Моя цель состоит в том, чтобы подключить это к системе обработки изображений, поэтому было бы полезно, если бы я мог связать это с изменением значения, а не соединить с таймером и системой проверки. Я довольно новичок в Qt, поэтому, должно быть, что-то упустил. Любая помощь будет очень ценится! Да, и я удостоверился, что у меня установлен флажок отслеживания в qtdesigner, чтобы обеспечить излучение сигнала.

1 Ответ

0 голосов
/ 04 июля 2018

Хорошо, поэтому я немного покопался в документации по QT для слота valueChanged (). Оказывается, сигнатура функции имеет аргумент int, поэтому код подключения Lua искал сигнатуру функции без каких-либо аргументов. Изменение приведенного выше кода для следующих работ, как и ожидалось:

slide = (widget.sliderLight)
    print(slide)
    qt.connect(slide, 'valueChanged(int)',
                 function(w)
                     print('Value: ', w)
                 end)

Объявление функции с той же сигнатурой также передает требуемое значение, что избавляет меня от запроса явного значения. Надеюсь, это когда-нибудь пригодится кому-то.

...