yöntemle showGPS()
gibi zamanlayıcı falan bu kullanarak QT sinyali ve yuva uygulamak için herhangi bir yolu var mı, MyWidget
sınıfın bir yuva yapılmalıdır. Ardından, sadece QTimer
sınıfını kullanma meselesi.
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), myWidget, SLOT(showGPS()));
timer->start(15000); //time specified in ms
Yukarıdaki kod, her 15 saniyede bir showGPS() öğesini çağırır. Arama periyodik olduğundan, zamanlayıcıyı setSingleShot()
yöntemini kullanarak tek çekim modunda ayarlamanız gerekmez.
Düzenleme:
Bu basit bir poc size QFileWatcher daha iyi bir çözüm olabilir senin durumda, dosya değişiklikleri kontrol etmek için QTimer kullanabilirsiniz,
#include <QApplication>
#include <QtGui>
#include <qobject.h>
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget()
{
timer = new QTimer(this);
QObject::connect(timer, SIGNAL(timeout()), this, SLOT(showGPS()));
timer->start(1000); //time specified in ms
}
public slots:
void showGPS()
{
qDebug()<<Q_FUNC_INFO;
}
private:
QTimer *timer;
};
int main(int argc, char **args)
{
QApplication app(argc,args);
MyWidget myWidget;
return app.exec();
}
QTimer'i hala kullanabilirsiniz? zaman aralığını 15 saniyeye ayarla ve işlevinizi "bağlan" ile zamanlayıcı ile ilişkilendirin? (bulunduğunuz bağlantıya benzer. –
Örnekler, QTimer için dokümanlardır. –