das hier ist mein erster Beitrag in eurem Forum; ich hoffe ich poste in der richtigen Section.
Mein Problem ist fogendes: ich möchte in einer Qt4 Application einen Thread erstellen und mit diesem auf ein EditFeld in meinem Fenster zugreifen.
mainwindow.h
Code: Alles auswählen
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QThread>
class MyThread : public QThread {
Q_OBJECT
public:
virtual void run();
class MainWindow;
};
namespace Ui
{
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void button1clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
Code: Alles auswählen
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qthread.h>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
void MyThread::run()
{
QTime timeNow = QTime::currentTime();
ui->timeEdit->setTime(timeNow);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::button1clicked()
{
MyThread a;
a.start();
a.wait();
}
Ich erhalte als Error:
In einem anderen Thread habe ich folgenen Satz gelesen:`ui' was not declared in this scope
Stimmt das überhaupt? Und gibt es dann auf mein Problem gar keine Lösung?Christian81 hat geschrieben:Vom Thread auf die GUI zugreifen geht nicht.
Ich hoffe ihr könnt mir weiterhelfen.
mfg Frezee