Не работают слоты/сигналы
Помогите разобраться.
- MainWindow::on_push_autorisation_clicked() - при нажатии на кнопку отправляется сигнал. В слоте выводим текст и отправляем сигнал дальше. Если не отправлять сигнал все ок работает. Не блочиться гуи и выводится текст. Но если отправить сигнал (раскомментировать) - ничего не выводиться и гуи блокируется, но сигнал вроде как проходит.
- signals:
- void send_input_data(const std::string&, const std::string&, int);
- private slots:
- void on_push_autorisation_clicked();
- void MainWindow::on_push_autorisation_clicked()
- {
- ui->text_output->append(QString("clicked"));
- auto logon = ui->logon->text();
- auto psw = ui->password->text();
- auto room = ui->room_id->text();
- ui->text_output->append(QString("send signal"));
- //emit send_input_data(logon.toStdString(), psw.toStdString(), room.toUInt());
- }
- connnect работает только если код ниже в одном потоке. как только раскомментирую - не работает. в чем может быть причины?
- QObject::connect(&client, SIGNAL(send_text(const std::string&, const std::string&)),
- this, SLOT(text_from_client(const std::string&, const std::string&)));
- io_service.run();
- //std::thread th([&io_service]() { io_service.run(); });
- //th.join();
3
252
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
- Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
Во-первых, у Вас в сигнале 3 параметра, а в коннекте 2.
Во-вторых, Вы используете устаревший способ connect, поэтому и ошибки не возникает про третий параметр - при этом способе нет проверки.
https://wiki.qt.io/New_Signal_Slot_Syntax/ru
и посмотрите работу с потоками в Qt, там подробно описано как передавать данные с одного в потока в другой при помощи сигналов и слотов