Здравствуйте, уважаемые форумчане!
Использую:
Qt 5.4.0
компилятор: mingw 4.9.1 32bit
OS: Windows 7
Хочу соединить сигнал со слотом, чтобы соединение было между двумя параллельными потоками, и была гарантия, что соединение будет установлено не более одного раза подряд. Так как в программе это соединение будет произвольное количество раз соединяться/разъединяться, и возможен случай нескольких таких соединений подряд.
По логике, для этого нужно в методе
connect, в конечном аргументе прописать:
Qt::QueuedConnection | Qt::UniqueConnection
Но у меня при компиляции с такой такой формой записи возникает ошибка:
error: invalid conversion from 'int' to 'Qt::ConnectionType' [-fpermissive]
А если сделать
одним, без комбинации с другими типами соединения - все компилируется
То есть элемент перечисления
не хочет комбинироваться с другими типами подключений, с помощью побитового ИЛИ.
Хотя в assistant пишеться, что:
This is a flag that can be combined with any one of the above connection types, using a bitwise OR. When Qt::UniqueConnection is set, QObject::connect() will fail if the connection already exists (i.e. if the same signal is already connected to the same slot for the same pair of objects). This flag was introduced in Qt 4.6.
А мне нужно именно
Qt::QueuedConnection | Qt::UniqueConnection
Думаю, у кого-то еще возникала такая ошибка.
Подскажите, пожалуйста, что я делаю не так.