Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
3 / 3 / 2
Регистрация: 02.04.2012
Сообщений: 31
1

Qtimer что-то не работает

26.03.2013, 13:27. Показов 2896. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день , пытаюсь реализовать связь с таймером , но что-он не работает.
По идеи по истечению 10сек. в Окне должна появится вторая кнопка , а она не появляется . Где мой косяк ?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setFixedSize(200,200);
 
    QPushButton *QB = new QPushButton (tr("Quit"),this);MyWidget).
     QB->setGeometry(140,170,50,20);  
      connect(QB,SIGNAL(clicked()), qApp, SLOT(quit())); 
 
 
     ////////////////////////////////////////////////////////////////////////////////
     QTimer *timer = new QTimer(this);
   connect(timer,SIGNAL(timeout()), this, SLOT(showTime()));
    timer->start(10000);
/////////////////////////////////////////////////////////////////////////////////
}
 
MainWindow::~MainWindow()
{
}
 
void MainWindow::showTime(){
    QPushButton *QB = new QPushButton (tr("Quit"),this);
     QB->setGeometry(100,170,50,20);  
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2013, 13:27
Ответы с готовыми решениями:

QTimer не работает
Файл mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <QTimer>...

Как работает QTimer::SingleShot?
Подскажите, знающие люди, если убить EventLoop до того, как сработает QTimer::SingleShot - ничего...

Не работает сигнал timeout() у QTimer
Здравствуйте, Нужно отправлять пакеты по udp каждые 10 мс. Подключил QTimer, но сигнал в слот...

QTimer
Добрый день. Вопрос в следующем: есть таймер и его интервал выполнения. После того, как интервал...

8
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
26.03.2013, 14:30 2
QPushButton *QB = new QPushButton (tr("Quit"),this);
QB->setGeometry(100,170,50,20);
Это еще не значит, что она на окне появится. Layout ей не указан, кнопка создалась, но "виртуальная".
0
3 / 3 / 2
Регистрация: 02.04.2012
Сообщений: 31
26.03.2013, 15:12  [ТС] 3
Цитата Сообщение от oxotnik Посмотреть сообщение
QPushButton *QB = new QPushButton (tr("Quit"),this);
QB->setGeometry(100,170,50,20);
Это еще не значит, что она на окне появится. Layout ей не указан, кнопка создалась, но "виртуальная".
Про
C++ (Qt)
1
QVBoxLayout;
прочитал , только где его реализовать если все дело должно через таймер запускатся?

C++ (Qt)
1
2
3
  QVBoxLayout *layout = new QVBoxLayout;
         layout->addWidget(QB);
         setLayout(layout);
0
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
26.03.2013, 15:16 4
Цитата Сообщение от l_cho Посмотреть сообщение
только где его реализовать если все дело должно через таймер запускатся?
где угодно, главное его на форму поместить, а в него уже контролы ляпать
1
3 / 3 / 2
Регистрация: 02.04.2012
Сообщений: 31
26.03.2013, 15:28  [ТС] 5
Цитата Сообщение от oxotnik Посмотреть сообщение
где угодно, главное его на форму поместить, а в него уже контролы ляпать

Кинул его в конструктор , как оказалось он создает его сразу . В функция класса layout не видит . Совсем запутался.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
MainWindow::MainWindow(QWidget *parent)
    : QWidget(parent)
{
    setFixedSize(200,200);// задаю фиксированный размер
 
    QPushButton *QB = new QPushButton (tr("Quit"),this);// дочерний виджет (родителем создаваемого виджета будет this, т.е. объект MyWidget).
     QB->setGeometry(140,170,50,20);  //размер кнопки
      connect(QB,SIGNAL(clicked()), qApp, SLOT(quit())); //QB издаст сигнал КЛИК в СЛОТ
 
 
     ////////////////////////////////////////////////////////////////////////////////
     QTimer *timer = new QTimer(this);
   connect(timer,SIGNAL(timeout()), this, SLOT(showTime()));
    timer->start(100000);
 
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(QB);
         setLayout(layout);
/////////////////////////////////////////////////////////////////////////////////
}
 
MainWindow::~MainWindow()
{
}
 
void MainWindow::showTime(){
    QPushButton *QB = new QPushButton (tr("Quit"),this);// дочерний виджет (родителем создаваемого виджета будет this, т.е. объект MyWidget).
}
0
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
26.03.2013, 15:32 6
Код
void MainWindow::showTime(){
    QPushButton *QB = new QPushButton (tr("Quit"),this);// дочерний виджет (родителем создаваемого виджета будет this, т.е. объект MyWidget).
    layout->addWidget(QB); // только указатель  layout надо определить в заголовке, что бы его было видно во всем классе
}
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.03.2013, 05:35 7
А слот вообще правильно объявлен ?
0
30 / 20 / 1
Регистрация: 08.09.2012
Сообщений: 77
27.03.2013, 13:15 8
Цитата Сообщение от l_cho Посмотреть сообщение
Добрый день , пытаюсь реализовать связь с таймером , но что-он не работает.
По идеи по истечению 10сек. в Окне должна появится вторая кнопка , а она не появляется . Где мой косяк ?
Для того чтобы увидеть кнопку для неё надо вызвать метод show(). Если память не изменяет то все виджеты по умолчанию создаются скрытыми.
0
136 / 140 / 7
Регистрация: 22.08.2011
Сообщений: 485
29.03.2013, 01:06 9
Здравствуйте!
C++ (Qt)
1
2
3
QPushButton *QB = new QPushButton (tr("Quit"),this);
QB->setGeometry(100,170,50,20); 
QB->show(); //Поробуйте так...
Удачи!
0
29.03.2013, 01:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2013, 01:06
Помогаю со студенческими работами здесь

QTimer
Есть кнопка tmr = new QTimer(this); void ipss_form::on_pushButton_clicked() { if...

QTimer
Добрый день Почемуто невызывается событие timerEvent ,мот я чтото нето делаю V___V #include...

работа с QTimer
Такой вопрос,мне нужно создать цикличное действие с таблицей,в частности в определенном столбце у...

QTimer сигналы
пишу приложение под винду без гафики. Таймер не хочет срабатывать, а при старте программы Creator...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru