Заполнение большой таблицы, >1000 строк |
Здравствуйте, гость ( Вход | Регистрация )
Заполнение большой таблицы, >1000 строк |
RazrFalcon |
21.4.2011, 20:10
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Пользователь добавляет папку через QFileDialog. Программа загружает данные обо всех файлах.
При этом QFileDialog так и зависает на экране. Исчезает только после завершение добавления файлов. Как сделать что бы он сразу скрывался? Я так понимаю что нужно новый поток сделать, в котором будет заполнятся таблица? Оно не будет сбоить из-за этого? Или есть более простые варианты? |
|
|
silver47 |
22.4.2011, 5:06
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Пользователь добавляет папку через QFileDialog. Программа загружает данные обо всех файлах. При этом QFileDialog так и зависает на экране. Исчезает только после завершение добавления файлов. Как сделать что бы он сразу скрывался? Я так понимаю что нужно новый поток сделать, в котором будет заполнятся таблица? Оно не будет сбоить из-за этого? Или есть более простые варианты? Быть может: QFileDialog::hide(); QFileDialog::repaint(); |
|
|
wiz29 |
22.4.2011, 11:30
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
Я так понимаю что нужно новый поток сделать, в котором будет заполнятся таблица? Оно не будет сбоить из-за этого? Или есть более простые варианты? Любые продолжительные операции лучше "выносить" из потока gui в отдельный поток, тогда все будет закрываться быстро, остальные варианты (по моему мнению) - костыли... |
|
|
silver47 |
22.4.2011, 11:39
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
|
|
|
wiz29 |
22.4.2011, 11:50
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
не привыкай к костылям инвалидом станешь
|
|
|
silver47 |
22.4.2011, 12:05
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
ОФФ: Кстати раз уж разговорились об этом. Есть поток, отдельный от ГУИ, в котором сеть работает (QSSLSocket висит), можно ли на время чтения из ком порта, засунуть это чтение в тот поток или создавать дополнительный, уже третий поток для этого дела? Сообщение отредактировал silver47 - 22.4.2011, 12:08 |
|
|
wiz29 |
22.4.2011, 12:38
Сообщение
#7
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
если нужна строго независимая работа данных устройств, то тогда лучше создать объект для работы COM-портом в контексте отдельного потока.
если же это "разовое" чтение из COM-порта, я бы сделал просто функцию чтения используя QtConcurent framework. |
|
|
silver47 |
22.4.2011, 12:49
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
если нужна строго независимая работа данных устройств, то тогда лучше создать объект для работы COM-портом в контексте отдельного потока. если же это "разовое" чтение из COM-порта, я бы сделал просто функцию чтения используя QtConcurent framework. Это именно разовое чтение. Спасибо, почитаю. |
|
|
PAFOS |
22.4.2011, 16:50
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Пользователь добавляет папку через QFileDialog. Программа загружает данные обо всех файлах. При этом QFileDialog так и зависает на экране. Исчезает только после завершение добавления файлов. Как сделать что бы он сразу скрывался? Я так понимаю что нужно новый поток сделать, в котором будет заполнятся таблица? Оно не будет сбоить из-за этого? Или есть более простые варианты? Не забываем про стандартную схему обработки длительных операций
|
|
|
Litkevich Yuriy |
22.4.2011, 17:27
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 14:33 |