Size: a a a

2021 February 17

AS

Alexander Shigin in Qt
Здрасти
источник

AS

Anatoly Shirokov in Qt
Переслано от Alexander Shigin
меня с qt-чата выкинуло пока думал как вопрос задать и ещё несколько вариантов пробовал... А по поводу рисования, ну фиг с ним с этим рисованием, как вот этот кусок сделать так, что бы можно было остановить?
void MainWindow::on_btStart_clicked()
{
   for(int i = 0; i < 100000; i++){
       ui->lineEditFrom->setText(QString::number(i));
       qDebug() << i;
   }
}
источник

B

Boryan in Qt
void MainWindow::on_btStart_clicked()
{
   for(int i = 0; i < 100000; i++){
       if (exit_flag) break;
       ui->lineEditFrom->setText(QString::number(i));
       qDebug() << i;
   }
}
источник

B

Boryan in Qt
ни разу не работал с потоками, но наверное это для них задача.
источник

IZ

Ilia Zviagin in Qt
Boryan
ни разу не работал с потоками, но наверное это для них задача.
Нет
источник

B

Boryan in Qt
В одном крутится btn_clicked, в другом меняется значение члена MainWindow, нет?
он без потоков сможет?
источник

IZ

Ilia Zviagin in Qt
Boryan
void MainWindow::on_btStart_clicked()
{
   for(int i = 0; i < 100000; i++){
       if (exit_flag) break;
       ui->lineEditFrom->setText(QString::number(i));
       qDebug() << i;
   }
}
РАсскажи кто тебе if (exit_flag) break; этот флаг переставить, если управление только в этом цикле вращается?
источник

AS

Alexander Shigin in Qt
Boryan
ни разу не работал с потоками, но наверное это для них задача.
на питоне с tkinter что-то подобное как раз делал через поток, а тут вот сигналы есть....
источник

AS

Alexander Shigin in Qt
тут тоже надо делать поток который меняет что-то в форме?
источник

B

Boryan in Qt
Ilia Zviagin
РАсскажи кто тебе if (exit_flag) break; этот флаг переставить, если управление только в этом цикле вращается?
ну так "распараллелить" что мешает?
источник

B

Boryan in Qt
Alexander Shigin
на питоне с tkinter что-то подобное как раз делал через поток, а тут вот сигналы есть....
тогда ты больше моего знаешь
источник

IZ

Ilia Zviagin in Qt
Alexander Shigin
тут тоже надо делать поток который меняет что-то в форме?
Объясни лучше, что ты хочешь
источник

AB

Alex B. in Qt
Повторюсь со своим вопросом. Может кто-то знает как На этапе компиляции активировать отслеживание изменения системной темы QT окном?
источник

AS

Alexander Shigin in Qt
Ilia Zviagin
Объясни лучше, что ты хочешь
ок, сейчас по-другому объясню. Задание - нарисовать график функции с отображением в процентах процесса рисования и его остановки если надо. Вот есть пример с анимацией, но я уже вижу что там не то.
https://www.youtube.com/watch?v=fmSs2mNGh9I
там завязано на таймере, но мне этот таймер нафиг не нужен (разве что для обновления отображаемой сцены если это как-то можно замутить)
источник

AS

Alexander Shigin in Qt
Alexander Shigin
ок, сейчас по-другому объясню. Задание - нарисовать график функции с отображением в процентах процесса рисования и его остановки если надо. Вот есть пример с анимацией, но я уже вижу что там не то.
https://www.youtube.com/watch?v=fmSs2mNGh9I
там завязано на таймере, но мне этот таймер нафиг не нужен (разве что для обновления отображаемой сцены если это как-то можно замутить)
ещё блин это QRectF boundingRect() - мне вот линию надо нарисовать, получается это фигня будет равна двум координатам линии?
источник

AS

Alexander Shigin in Qt
Alexander Shigin
ещё блин это QRectF boundingRect() - мне вот линию надо нарисовать, получается это фигня будет равна двум координатам линии?
кучу линий. Может миллион
источник

IZ

Ilia Zviagin in Qt
Alexander Shigin
ок, сейчас по-другому объясню. Задание - нарисовать график функции с отображением в процентах процесса рисования и его остановки если надо. Вот есть пример с анимацией, но я уже вижу что там не то.
https://www.youtube.com/watch?v=fmSs2mNGh9I
там завязано на таймере, но мне этот таймер нафиг не нужен (разве что для обновления отображаемой сцены если это как-то можно замутить)
Задача разбивается на куски.
Делается функция которая выполняет один кусок.
Делается таймер. посылается.
На таймер вешается вот это делание одного куска задачи.
Ну и если надо прервать, то по какому-то условию (нажатие кнопки и т.п.) убивается таймер.

При этом заметь, что все кнопки будут таки работать.
источник

IZ

Ilia Zviagin in Qt
Alex B.
Повторюсь со своим вопросом. Может кто-то знает как На этапе компиляции активировать отслеживание изменения системной темы QT окном?
Это как на этапе компиляции?
источник

AS

Anatoly Shirokov in Qt
Anatoly Shirokov
Переслано от Alexander Shigin
меня с qt-чата выкинуло пока думал как вопрос задать и ещё несколько вариантов пробовал... А по поводу рисования, ну фиг с ним с этим рисованием, как вот этот кусок сделать так, что бы можно было остановить?
void MainWindow::on_btStart_clicked()
{
   for(int i = 0; i < 100000; i++){
       ui->lineEditFrom->setText(QString::number(i));
       qDebug() << i;
   }
}
@ryutensai смотри, у этой задачи есть решение и в однопотоковом варианте. можно в цикле вызывать https://doc.qt.io/qt-5/qcoreapplication.html#processEvents, это позволит обрабатывать оконные сообщение и в том числе click на кнопке Cancel
источник

IZ

Ilia Zviagin in Qt
Alexander Shigin
ок, сейчас по-другому объясню. Задание - нарисовать график функции с отображением в процентах процесса рисования и его остановки если надо. Вот есть пример с анимацией, но я уже вижу что там не то.
https://www.youtube.com/watch?v=fmSs2mNGh9I
там завязано на таймере, но мне этот таймер нафиг не нужен (разве что для обновления отображаемой сцены если это как-то можно замутить)
Тебе таймер НУЖЕН
источник