Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[QT] aplikacja okienkowa i wielowątkowość

Ostatnio zmodyfikowano 2017-10-31 17:36
Autor Wiadomość
Szybki_Jakub
Temat założony przez niniejszego użytkownika
» 2017-10-31 16:34:37
projekt mam, mam do Ciebie jeszcze jedną prośbę, chciałbym żeby po naciśnięciu przycisku  zaczęło się wyświetlać "123" co 2 sekundy, natomiast jeśli nacisnę ponownie to przestanie wyświetlać i tak w kółko, jeżeli wsadzę tam pętle np do 100 wyświetleń to mimo naciśnięcia przycisku wątek nie zakończy się natychmiastowo tylko dokończy pętle, natomiast jeżeli pętla będzie nieskończona to nigdy nie zakończy swojej pracy mimo naciśnięcia przycisku
P-166286
mateczek
» 2017-10-31 16:58:56
jeśli tylko chcesz wyświetlać co 2s. to spróbuj z timerem
C/C++
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QTimer>
namespace Ui {
    class MainWindow;
}

class MainWindow
    : public QMainWindow
{
    Q_OBJECT
    QTimer * timer;
   
public:
    explicit MainWindow( QWidget * parent = 0 );
    ~MainWindow();
   
private slots:
    void on_pushButton_clicked();
    void timUpdate();
private:
    Ui::MainWindow * ui;
};

#endif // MAINWINDOW_H

C/C++
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
MainWindow::MainWindow( QWidget * parent )
    : QMainWindow( parent )
     , ui( new Ui::MainWindow )
{
    ui->setupUi( this );
    timer = new QTimer( this );
    timer->setInterval( 1000 );
    connect( timer, SIGNAL( timeout() ), this, SLOT( timUpdate() ) );
   
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    if( timer->isActive() ) {
        timer->stop();
    } else timer->start();
   
}

void MainWindow::timUpdate()
{
    qDebug() << "123";
}
P-166287
Szybki_Jakub
Temat założony przez niniejszego użytkownika
» 2017-10-31 17:36:50
udało się, tego właśnie mi brakowało dzięki !!
P-166288
1 « 2 »
Poprzednia strona Strona 2 z 2