Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 90

Отсутствие принятия сигнала

09.09.2023, 01:07. Показов 1420. Ответов 26
Метки c++, qt (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс Cycles, из которого сигнал эмитирует, и есть класс с диалоговым окном, в котором этот сигнал принимается. Суть в том, что сигнал даже не испускается.

cycles.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Cycles : public QObject
{
    Q_OBJECT
public:
    explicit Cycles(QObject *parent = nullptr);
 
    //.....
 
    void checkLines(double c_noise);
    QVector <QPair <int,int>> straight,incline;
 
signals:
    void setCountLines(int count);
 
};

cycles.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
void Cycles::checkLines(double c_noise)
{
   /* .......
       .......
       .......
       .......
       .......
       ....... */
 
    qDebug()<<"Lines: "<<straight.length();
 
    emit setCountLines(straight.length());  // <------- этот сигнал
}

dialog_u_i.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Dialog_U_I : public QDialog
{
    Q_OBJECT
 
public:
    explicit Dialog_U_I(QWidget *parent = nullptr);
    ~Dialog_U_I();
 
    QVector <double> lines;
 
private:
    void getCountLines(int count);
 
 
    int count_lines=0;
};

dialog_u_i.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dialog_U_I::Dialog_U_I(QWidget *parent) : QDialog(parent),ui(new Ui::Dialog_U_I)
{
    ui->setupUi(this);
 
    cycle=new Cycles();
 
    connect(cycle,&Cycles::setCountLines,this,&Dialog_U_I::getCountLines);
 
}
 
void Dialog_U_I::getCountLines(int count)
{
    qDebug()<<"EMIT "<<count;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2023, 01:07
Ответы с готовыми решениями:

Вероятность принятия сигнала
Добрый день! Вроде решила задачу, но не уверена, что правильно... Условие задачи: Передаются два сигнала A и...

Wi-Fi: периодическое отсутствие сигнала
предыстория: на мамином ноуте стоял вин7 - всё работало как часы, пришло обновление до вин10 сходу - маман обновилась. ну окей, удалено...

Отсутствие сигнала от кнопок
вариант отдельного создания кнопок - сразу нет import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from...

26
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 90
09.09.2023, 12:36  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Ender Che Посмотреть сообщение
readme.txt пишите к проекту
Не знал, что это требуется...
Цитата Сообщение от Ender Che Посмотреть сообщение
Куда жмякать-то, чтобы сигнально-слотовое соединение сработало?
Никуда, нужен второй проект, который по tcp будет все отправлять
0
 Аватар для Ender Che
521 / 411 / 77
Регистрация: 29.05.2018
Сообщений: 1,365
09.09.2023, 12:45
Цитата Сообщение от Andre_kras Посмотреть сообщение
Не знал, что это требуется...
В данном конкретном случае - требуется. Если бы собиралось всё автоматом - тогда пофиг. А у вас путь фиксированный в pro прописан.

Выше уважаемый DrOffset уже изложил, что не так, так что я удаляюсь из канала.
0
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 90
09.09.2023, 12:45  [ТС]
DrOffset, вы имеете ввиду добавить в MainWindow
C++ (Qt)
1
2
3
4
5
6
7
8
connect(cycle,&Cycles::setCountLines,this,&MainWindow::m_getCountLines);
 
......
 
void MainWindow::m_getCountLines(int count)
{
    dialog2->getCountLines(count);
}
Так?
0
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,830
09.09.2023, 12:48
Лучший ответ Сообщение было отмечено Andre_kras как решение

Решение

Andre_kras,
Внутри MainWindow::MainWindow делаете
C++
1
    connect(cycle,&Cycles::setCountLines,dialog2,&Dialog_U_I::getCountLines);
(Dialog_U_I::getCountLines должен быть в public)
Внутри Dialog_U_I::Dialog_U_I убираете
C++
1
2
3
4
    //cycle=new Cycles();
    connect(ui->btn_accept,&QPushButton::clicked,this,&Dialog_U_I::set);
    connect(ui->doubleSpinBox,QOverload<double>::of(&QDoubleSpinBox::valueChanged),this,&Dialog_U_I::save);
    //connect(cycle,&Cycles::setCountLines,this,&Dialog_U_I::getCountLines);
После этого все нормально вызывается.

Про инкапсуляцию, что там должно быть в private, а что в public и какие сигналы откуда в итоге зацеплять подумаете сами, после того как разберетесь в сути проблемы.
1
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 90
09.09.2023, 12:58  [ТС]
DrOffset, очень благодарен вам в первую очередь за огромное терпение, а во вторую - за помощь!
0
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,830
09.09.2023, 13:04
Andre_kras, пожалуйста.
Я так понимаю все получилось у вас?
0
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 90
09.09.2023, 13:10  [ТС]
DrOffset, ну конечно, ещё бы не получилось, когда вы мне тут инструкцию по сборке табурета написали
Ещё раз спасибо вам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2023, 13:10

Отсутствие сигнала со встроенной видеокарты
Здравствуйте!Купил себе второй монитор, подключил и тут...моник уходит в энергосбережение.Кинулся гуглить и в итоге пришел к выводу, что...

к чему приводит отсутствие управляющего сигнала на сервах?
оно перестает двигаться, или воспринимает отсутствие сигнала как сигнал со 100% скважностью? хочу теперь сделать бричку из пары...

Отсутствие сигнала при подключении через hdmi к телевиору
Видеокарта GF 560TX На видеокарте два разъема DVI и 1 разъем mini-hdmi Win 7 Проблема в том, что при включении компьютера, сигнал...

FM Tuner: как получить наличие или отсутствие сигнала на заданной частоте
Добрый день товарищи форумчани, пытаюсь написать свою программу fm tuner на языке VB.NET, использую тюнер beholder, не как не могу получить...

Отсутствие возможности продублировать дисплей и отсутствие звука на телике при подключении через HDMI
и так ситуёвина следующая, имеем офисный аппарат на базе Asrock b365m mini ITX с гиперпнём g5420, с встроенной графикой, на выходе имеем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru