Ну после попытки все, что я знаю, и даже добавивOpenMP, QTextEdit и QPlainTextEdit
QT_MainWindow::QT_MainWindow(QWidget *parent) :QMainWindow(parent), ui(new Ui::QT_MainWindow)
{
ui->setupUi(this);
qRegisterMetaType<QTextCursor>("QTextCursor");
qRegisterMetaType<QTextBlock>("QTextBlock");
}
К моему источнику я до сих пор не может изменить текст из других потоков как в QTextEdit и QPlainTextEdit также я использую OpenMP с Qt.
может кто-нибудь сказать мне, что это правильный способ изменить текст из других потоков в QTextEdit и QPlainTextEdit, потому что я не смог найти что-нибудь о том, что, чтобы помочь мне
Вот мой источник:
void QT_MainWindow::Load()
{
ui->QT_PlainTextEdit->setPlainText("");
std::ifstream file("File.txt");
std::string line;
#pragma omp parallel
{
while (std::getline(file, line))
ui->QT_PlainTextEdit->appendPlainText(QString::fromStdString(line));
file.close();
}
}
мне удалось получить его работу только как этот
void QT_MainWindow::Load()
{
omp_set_dynamic(0);
omp_set_nested(3);
#pragma omp parallel num_threads(3)
{
ui->QT_PlainTextEdit->setPlainText("");
}
}
Но если я пытаюсь установить текст
void QT_MainWindow::Load()
{
omp_set_dynamic(0);
omp_set_nested(3);
#pragma omp parallel num_threads(3)
{
ui->QT_PlainTextEdit->setPlainText("TEST");
}
}
Я получаю эту ошибку
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QTextDocument(0x3bbc758), parent's thread is QThread(0x3bd140), current thread is QThread(0x3bbcb68)
The program has unexpectedly finished.
также
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QTextDocument(0x465bfc0), parent's thread is QThread(0x3f3ad60), current thread is QThread(0x466d450)QObject: Cannot create children for a parent that is in a different thread.
(Parent is QTextDocument(0x465bfc0), parent's thread is QThread(0x3f3ad60), current thread is QThread(0x46eebe0)HEAP[app.exe]:
Invalid address specified to RtlFreeHeap(00000000023F0000, 0000000003F3DC40)
было бы неплохо прикрепить некоторый источник, трудно сказать ... –
Хорошо держитесь, я буду немного – POQDavid
@RobertWadowsk i ok я добавил источник и заметьте, что я делаю qRegisterMetaType, прежде чем я что-нибудь запустил – POQDavid