LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

Данные вручную в таблицу не вносятся

Тогда тебе нужно хранить этот список во внешнем контейнере, например, объявил структуру ServInfo, и над ней QVector<ServInfo> или std::vector<ServInfo>, не принципиально. А табличный виджет один раз заполнил из этого контейнера и больше туда не лазь. Да, если тебе в этом виджете надо обновлять состояние – потом, как обошёл все сервера, так и обновишь (вот честно, мне кажется, что тут элегантнее было бы сделать класс ServerModel и связать с ней QTableView, но дело твоё).

никакой обработки данных в таблице не производится

Да? А я вот вижу, что у тебя указатель на QTableWidget дёргается в каждой итерации медленного цикла, того самого, в котором скрипт вызывается.

Если же ты хочешь, чтобы в самой таблице что-то правилось по мере опроса серверов – из опрашивающего потока посылай гуёвому потоку (а именно окну с таблицей) сигнал «сервер N раздуплился», окно будет перерисовываться.

А ты ГУИ и медленную логику запихнул не то, что в один поток, а вообще в один цикл. И фризам удивляешься.

Исправление hobbit, :

Данные вручную в таблицу не вносятся

Тогда тебе нужно хранить этот список во внешнем контейнере, например, объявил структуру ServInfo, и над ней QVector или std::vector, не принципиально. А табличный виджет один раз заполнил из этого контейнера и больше туда не лазь. Да, если тебе в этом виджете надо обновлять состояние – потом, как обошёл все сервера, так и обновишь (вот честно, мне кажется, что тут элегантнее было бы сделать класс ServerModel и связать с ней QTableView, но дело твоё).

никакой обработки данных в таблице не производится

Да? А я вот вижу, что у тебя указатель на QTableWidget дёргается в каждой итерации медленного цикла, того самого, в котором скрипт вызывается.

Если же ты хочешь, чтобы в самой таблице что-то правилось по мере опроса серверов – из опрашивающего потока посылай гуёвому потоку (а именно окну с таблицей) сигнал «сервер N раздуплился», окно будет перерисовываться.

А ты ГУИ и медленную логику запихнул не то, что в один поток, а вообще в один цикл. И фризам удивляешься.

Исходная версия hobbit, :

Данные вручную в таблицу не вносятся

Тогда тебе нужно хранить этот список во внешнем контейнере, например, объявил структуру ServInfo, и над ней QVector или std::vector, не принципиально. А табличный виджет один раз заполнил из этого контейнера и больше туда не лазь. Да, если тебе в этом виджете надо обновлять состояние – потом, как обошёл все сервера, так и обновишь (вот честно, мне кажется, что тут элегантнее было бы сделать класс ServerModel и связать с ней QTableView, но дело твоё).

никакой обработки данных в таблице не производится

Да? А я вот вижу, что у тебя указатель на QTableWidget дёргается в каждой итерации медленного цикла, того самого, в котором скрипт вызывается.

Если же ты хочешь, чтобы в самой таблице что-то правилось по мере опроса серверов – из опрашивающего потока посылай гуёвому потоку (а именно окну с таблицей) сигнал «сервер N раздуплился», окно будет перерисовываться.

А ты ГУИ с медленной логикой запихнул не то, что в один поток, а вообще в один цикл. И фризам удивляешься.