Как в qt в функции connect передать параметры от сигнала слоту (новый вариант)

110
18 декабря 2020, 06:00

Было вот так, все работало:

QObject::connect(&counter, SIGNAL(counterChanged(int)), &lbl, SLOT(setNum(int)));

Теперь не знаю, как можно передать параметр от counterChanged в setNum в новой версии connect:

QObject::connect(&counter, &Counter::counterChanged, &lbl, &QLabel::setNum);
Answer 1

Вот способ, с которым я раньше работал и всё было нормально:

QObject::connect(&counter, static_cast<void (Counter::*)(int)>(&Counter::counterChanged), &lbl, &QLabel::setNum);

То есть нужно привести функцию к требуемому типу. Но в документации недавно появился новый способ, но я его не проверял. Этот способ требует включения C++14.

QObject::connect(&counter, QOverload<int>::of(&Counter::counterChanged), &lbl, &QLabel::setNum);
READ ALSO
Размер указателя на функцию

Размер указателя на функцию

Пусть имеется банальный код:

122
Деструктор в контейнерах?

Деструктор в контейнерах?

Допустим, есть класс:

126
Вставка Watermark в поток печати

Вставка Watermark в поток печати

Microsoft говорит нам, что мы можем модифицировать поток печати посредством разработки плагинов для драйвера печати

106
Чтение бинарных данных из std::wifstream

Чтение бинарных данных из std::wifstream

Необходимо считать в std::string байты файлаОдно из требований: поддержка юникодных имен файлов

134