Russian Qt Forum
Ноябрь 24, 2024, 08:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как изменить label из функции.  (Прочитано 3021 раз)
Mailf
Гость
« : Декабрь 05, 2016, 14:56 »

Код:
void timePlus() {
    if(sec1+sec2 == 14) {min++; sec1 = 0; sec2 = 0;}
    else if (sec2 = 10) {sec1++; sec2 = 0;}
    else {sec2++;}
    QString time = QString::number(min);
    time += ":";
    time += QString::number(sec1);
    time += QString::number(sec2);
    ui->lbl->setText(time);
    return 0;
}
void MainWindow::on_startButton_clicked()
{
    QTimer *timer = new QTimer();
    timer->start(100);
    connect(timer, SIGNAL(timeout()), this, SLOT(templ));
}
Выдает ошибку компиляции в этой строке: "ui->lbl->setText(time);"
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Декабрь 05, 2016, 15:08 »

1. Вы думаете что тут будут угадывать текст ошибки? Улыбающийся
2. "return 0;" в void функции выглядит странно
3.  Нет смысла на каждом вызове функции создать таймер, тем более вы его не удаляете, а значит создаете утечку памяти.
Поэтому, предлагаю следующее:
3.1 Создайте в поле класса MainWindow "QTimer timer;"
3.2 В конструкторе класса MainWindow подключите сигнал таймера: "connect(&timer, SIGNAL(timeout()), this, SLOT(templ));"
3.3 B методе on_startButton_clicked вызовите: "timer.start(100);"
    
« Последнее редактирование: Декабрь 05, 2016, 15:10 от gil9red » Записан

Mailf
Гость
« Ответ #2 : Декабрь 05, 2016, 15:49 »

А где это? Смеющийся В каком файле, чет найти не могу
3.2 В конструкторе класса MainWindow подключите сигнал таймера: "connect(&timer, SIGNAL(timeout()), this, SLOT(templ));"
« Последнее редактирование: Декабрь 05, 2016, 15:52 от Mailf » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Декабрь 05, 2016, 16:17 »

Я не знаю структуру вашего проекта
Конструктор, по идеи, будет в cpp файле и начинаться на MainWindow::MainWindow
Записан

Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Декабрь 06, 2016, 01:05 »

Вот часто вспоминаю фразу из Бумера: "не нужна тебе такая машина, поверь мне на слово"
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #5 : Декабрь 06, 2016, 01:27 »

Вот часто вспоминаю фразу из Бумера: "не нужна тебе такая машина, поверь мне на слово"

Тонко намекаете автору выучить с++, а потом браться за Qt? Смеющийся
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.