KM
Sept. 21, 2020, 4:03 p.m.

Siganal slot в ui

qt, signal, Slot

добрый день,
хочу сделать сигнал слот между ui каунтером:

  1. выше (начало UI)
  2.  
  3. ui->setupUi(this);
  4. timer = new QTimer(this);
  5. connect(timer, &QTimer::timeout, this, &ErrorStatus::checkForErrors);
  6. timer->start(settings.ErrorHandlerTimeOut.get()*1000);
  7. Global::errorHandler = this;
  8. agregator = new ErrorAgregator(this);
  9. ui->scrollArea->setWidgetResizable(true);
  10.  
  11. ui->scrollWidget->setStyleSheet("QWidget#scrollWidget {background-color: #282828; border-left: 2px solid rgb(85,150,255);}");//40,40,40
  12. ui->scrollArea->setStyleSheet("QScrollArea { background-color: #282828; border: 0;}");//40,40,40
  13. Хочу сюда добавить сигнал вроде:
  14. //ui->scrollArea->setWidget(newtext);
  15.  
  16.  
  17. после калькулятора ошибое условие если ошибок нет через Елс
  18. if(errCount>0) getIcon()->setText("Ошибка : "+QString::number(errCount)); //изменить количество ошибок
  19. else getIcon()->setText("Нет ошибок"); //если ошибок то написать текст()
  20. QLabel *newtext = new QLabel("Нет ошибок");
2

Do you like it? Share on social networks!

1
Evgenii Legotckoi
  • Sept. 22, 2020, noon

Добрый день,

Не совсем понял, какой код должен находиться в слоте, но можно подключиться через лямбда функцию.

  1. connect(timer, &QTimer::timeout, this, []()
  2. {
  3. ui->scrollArea->setWidget(newtext);
  4. if(errCount>0) getIcon()->setText("Ошибка : "+QString::number(errCount)); //изменить количество ошибок
  5. else getIcon()->setText("Нет ошибок"); //если ошибок то написать текст()
  6. QLabel *newtext = new QLabel("Нет ошибок");
  7. });

Но лучше создавать просто текст с QString, чем с QLabel. Лучше добавить QLabel сразу, а потом менять у него текст.
Иначе у вас могут быть утечки памяти.

    Comments

    Only authorized users can post comments.
    Please, Log in or Sign up
    • Last comments
    • AK
      April 1, 2025, 11:41 a.m.
      Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
    • Evgenii Legotckoi
      March 9, 2025, 9:02 p.m.
      К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
    • VP
      March 9, 2025, 4:14 p.m.
      Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
    • ИМ
      Nov. 22, 2024, 9:51 p.m.
      Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
    • Evgenii Legotckoi
      Oct. 31, 2024, 11:37 p.m.
      Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup