QT: Подключите сигнал с основным типом в своей подписи к слоту с QVariant в своей подписи - PullRequest
1 голос
/ 13 января 2020

Я бы хотел подключить сигнал с одним параметром основного типа, таким как

void toggled(bool checked)
void valueChanged(int i)
...

, к слоту с параметром типа QVariant:

void setValue( QVariant &value )

Является ли это возможно с использованием Qt 5.14?

Ответы [ 2 ]

1 голос
/ 13 января 2020

Вы можете изменить значение

void setValue(QVariant & value)

на

void setValue(QVariant value)

или

void setValue(const QVariant & value)

, в противном случае компиляция завершится неудачно с утверждением stati c не удалось (аргументы Signal и slot не совместимы).

1 голос
/ 13 января 2020

Да, вы можете подключать сигналы к слотам, если есть неявное преобразование из параметра сигнала в параметр слота .

Учитывая, что Qvariant имеет конструкторы из int и bool, эти конструкторы будут использоваться для выполнения неявного преобразования.

...