Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не запускается QTimer. Вообще! 
:(
    Опции темы
wowka19
Дата 16.1.2014, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 30.11.2011

Репутация: нет
Всего: нет



в коде один лишь конструктор:

Код

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    m_timeList_ = new QList<QTime>;

    m_sound_ = new QSound("superman.wav");
    m_sound_->setLoops(-1);
    isPlay = false;
    m_lastPos = QCursor::pos();


    QWidget * centralWidget = new QWidget;
    setCentralWidget(centralWidget);
    m_vBoxLayout = new QVBoxLayout(centralWidget);

    QFile file("schedule.txt");
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return;

    while (!file.atEnd())
    {
        QByteArray line = file.readLine();
        QTime temp(line.split(':').at(0).trimmed().toInt(), line.split(':').at(1).trimmed().toInt());
        m_timeList_->push_back(temp);
    }
    qSort(m_timeList_->begin(), m_timeList_->end());

    for (int i = 0; i < m_timeList_->count(); ++i)
    {
        QLabel *temp = new QLabel(m_timeList_->at(i).toString());
        m_labelList->push_back(temp);
        m_vBoxLayout->addWidget(m_labelList->back());
    }

    m_nextTimeNumber_ = 0;
    for (int i = 0; i < m_timeList_->count(); ++i)
    {
        if (m_timeList_->at(i) > QTime::currentTime())
        {
            m_nextTimeNumber_ = i;
            break;
        }
    }

    connect(&t, SIGNAL(timeout()), this, SLOT(close()));
    t.start(2000);
}

- таймер не срабатывает!!!

для справки вот это работает:
Код

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    connect(&t, SIGNAL(timeout()), this, SLOT(close()));
    t.start(2000);
}


т.е. код выше как-то перебивает работу таймера

что за черт???
PM MAIL   Вверх
Guinness
Дата 17.1.2014, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



Цитата(wowka19 @  16.1.2014,  23:28 Найти цитируемый пост)
т.е. код выше как-то перебивает работу таймера

А код выше срабатывает без ошибок? Т.е. программа доходит до выполнения инструкции t.start(2000)?
PM MAIL   Вверх
Alexiski
Дата 17.1.2014, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 12.12.2008

Репутация: нет
Всего: 1



Судя по коду, Вы, вероятно, надеетесь что таймер каким-то мистическим образом прервет вычисления, проводимые в конструкторе. Это не так. Событие таймера произойдет только после завершения работы конструктора.
PM MAIL   Вверх
bsa
Дата 17.1.2014, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



wowka19, что такое t? Где и как оно объявлено? Когда ты ожидаешь срабатывания таймера?
PM   Вверх
ALEXRAGE
Дата 17.1.2014, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 17.1.2014
Где: Санкт-Петербург

Репутация: нет
Всего: нет



А точно доходит до строчки t.start(2000);
Что-то мне подсказывает, что цикл while (!file.atEnd()) никогда не прервется.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.