Грамотная отрисовка рельефа, что-то не получается |
Здравствуйте, гость ( Вход | Регистрация )
Грамотная отрисовка рельефа, что-то не получается |
AD |
5.12.2008, 17:16
Сообщение
#11
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
AD |
5.12.2008, 17:48
Сообщение
#12
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Рельеф не рисуется, хоть лопни, блин. Кто может попробовать разобраться в представленном коде и помочь?
|
|
|
kuler |
5.12.2008, 17:57
Сообщение
#13
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
потому что по крайней мере контролы надо юзать только в потоке в котором они были созданы, а паинтер по идее взаимодействует с контролом на котором рисуется, соответственно наверно лучше не юзать в другом потоке.
|
|
|
AD |
7.12.2008, 18:01
Сообщение
#14
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
потому что по крайней мере контролы надо юзать только в потоке в котором они были созданы, а паинтер по идее взаимодействует с контролом на котором рисуется, соответственно наверно лучше не юзать в другом потоке. У тебя есть идея как это правильно сделать? Я буду рад выслушать ее. |
|
|
AD |
8.12.2008, 10:23
Сообщение
#15
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Ну хоть кто-нибудь подскажите, можно ли использовать QPainter в доп. потоке или нет? Если нельзя, то как заставить отрисоваться рельеф в доп. потоке?
Вот код: relief
|
|
|
AD |
8.12.2008, 12:32
Сообщение
#16
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вот блин. Спросил Бланшета на счет отрисовки, вот его ответ:
Цитата Hi Alexander, Цитата Sorry to trouble you! Can you help me? I want to request some questions: 1) Can I apply the QPainter in additional (not main) thread? I use the second (additional) thread and try to draw the relief in this thread. But I don't have result. The relief is not drawing in pixmap! This is correct. As pointed out in our book, the GUI classes (including QPainter) may only be used from the main thread. Цитата 2) If it is impossible to use QPainter, can I afford to draw relief in second thread? I don't think so. But this might have changed or might change in the coming versions of Qt. I suggest you write your questions to the Qt mailing list; I'm no longer following the development of Qt, since I've left Trolltech and started a Ph.D. Как выкрутиться? Есть ли возможность, с помощью сигналов и слотов что-то сделать? Он дал ссылку на кое-какую статью, но там, к сожалению, Qt 4.4 (кстати, вот ссылка Threads in Qt 4.4). Я же использую QT 4.3.2. commercial. Рисовать рельеф в главном потоке нельзя, слишком ресурсоемкая операция, а как это сделать, не знаю |
|
|
kuler |
8.12.2008, 16:46
Сообщение
#17
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
нужен либо маршалинг (я не знаю как его сделать). А вообще к примеру 3Д графику рисуют в главном потоке - и ничего, летает. А там посложнее будет
|
|
|
Litkevich Yuriy |
8.12.2008, 17:27
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
AD |
8.12.2008, 18:47
Сообщение
#19
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
я вот тоже думаю, что нужно в главном потоке. Надо просто хорошенько подумать, в чем проблема. Да я и не спорю. Просто уже все мозги сломал, как сделать так, чтобы летало! Избавиться от рекурсии(но что-то не получается догадаться, как это безобразие циклом сделать) Убрать лишние проверки (тогда какие?) Сможете помочь? Мозги уже плавятся.... |
|
|
Litkevich Yuriy |
8.12.2008, 18:52
Сообщение
#20
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 3.1.2025, 5:43 |