это субобъект QTread ...
и конкретный это в главной нити ....
Ошибка выполнения следующим образом:
Ошибка ASSERT в QCoreApplication :: sendEvent: "Невозможно отправить события в
объекты, принадлежащие другому потоку. Текущая тема 176f0a8. Получатель
'' (типа 'MainWindow') создан в потоке 3976a0 ", файл
C: \ ndk_buildrepos \ Qt-рабочий стол \ SRC \ corelib \ ядро \ qcoreapplication.cpp,
строка 405 Неверный параметр передан функции времени выполнения C. Недействительным
параметр передан функции времени выполнения C.
class PaintThread : public QThread {
private:
QWidget* parent;
public:
~PaintThread() {}
PaintThread(QWidget* parent = 0) {
this->parent = parent;
}
void run() {
while (1) {
this->msleep(5000);
parent->repaint();
}
this->exec();
}
};
это конструктор MainFrame:
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)
{
tankPoint = new QRect(50, 50, 30, 30);
this->show();
PaintThread * pt = new PaintThread(this);
pt->start();
}
следующее переопределение paintEvent для MainWindow
void paintEvent(QPaintEvent*) {
QPainter p(this);
p.setPen(Qt::red);
p.setBrush(Qt::red);
p.drawEllipse(*tankPoint);
tankPoint->setLeft(200);
}
Может кто-нибудь сказать мне, почему?