Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Добрый день обычная проблема иметеся интерфейс класс : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. А теперь вопрос как вы поступаете если надо связать чисто виртуальный слот интерфейса в базовом классе? мой способ очень опасный но он работает, я даже гдето слышал что соединять сигналы и слоты надо повозможности не в конструкторе кстати кто знает обьясните почему?Как вообще поступить если нужно вызвать переопределенную виртуальную функцию в базовом классе?Я например в таких случаях сразу после конструктора добавляю функцию инит где вызываю виртуальные функции производного класса как делаете вы?(foo f; f.init();), ну и еще на размышление я в выше приведенном случаи обошелся и без конетов с помощью invokeMethod там где имитится сигнал, но это такие стремные методы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 10:20 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
а и еще не забывайте что обновления и обращение идет из разных потоков поэтому нельзя использовать директ конекшн,и еще воопрос на засыпку как можно организовать обработку своего пути пока окно находится в exec состоянии?я умею только запускать дополнительный поток и там делать работу и уведомлять диалог.Но думаю должны быть еще способы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 10:23 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Раз уж используешь Кьютешные потоки, сходи по приведённым ссылкам . И, напоминаю, особое внимание удели цитате из Bradley T. Hughes. Потому что ты неправильно используешь поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 10:59 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
rovanРаз уж используешь Кьютешные потоки, сходи по приведённым ссылкам . И, напоминаю, особое внимание удели цитате из Bradley T. Hughes. Потому что ты неправильно используешь поток.Это я уже читал, я хочу так использовать QThread.Он работает значит я правильно все делаю, задачу можно решить по разному.Мне так удобней я не вызываю метод terminate чтоб закончить поток а ввожу свою переменную в while(is_stop) и дергаю мне так удобнее, чем вводить левый обект делать ему мувтутхред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 11:57 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
И к тому же не возможно будет переместить диалог в трейд, чтоб там обрабатывать события, а еслб даже и было возможно то мне надо модальное окно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 11:59 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Если ты рассчитываешь, что весь код, находящийся в методе run() будет выполняться в отдельном потоке - ты используешь поток неправильно. Внимательнее перечитай ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:00 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Katamaran1987И к тому же не возможно будет переместить диалог в трейд, чтоб там обрабатывать события, а еслб даже и было возможно то мне надо модальное окно. Доживём до вечера, покажу рабочий пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:01 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Лично я не пишу логику в слоте, и не делаю слоты виртуальными. Вместо этого пишу виртуальный метод с логикой, и его вызываю из слота. Этот виртульный метод может быть настолько абстрактным, насколько нужно, и вызывать его из базового класса можно обычным обращением. Сформулируй задачу, а то в начальном посте слова свалены в кучу со слабыми намёками на смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:12 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Есть диалог внутри которого в моем случаи выполняются какие бакграунд действия,эти бэкграун действия дергаю прогресбар в диалоге,меняют тайтл,я решил всю работу переложить в поток а диалогу лишь предоставить интерфейсные методы пусть даже и виртуальные слоты где он свои подконтолам будет устанавливать текст,дергать прогрес и так далее,но тут получилась не увязка чтоб меньше в диалоге реализоввывать я хочу все возможные сигналы связать сразу в базовом классе, но они виртуальные, хотя если сделать как вы описали (NVI паттерн) то тогда виртуальность уходит, вообще было бы идеально все выпонять пока диалог находится в exec функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:23 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
rovanЛично я не пишу логику в слоте, и не делаю слоты виртуальными. Вместо этого пишу виртуальный метод с логикой, и его вызываю из слота. Этот виртульный метод может быть настолько абстрактным, насколько нужно, и вызывать его из базового класса можно обычным обращением. Сформулируй задачу, а то в начальном посте слова свалены в кучу со слабыми намёками на смысл.Вызывать виртуальные методы можно в базовом но не из конструктора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:24 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Верно. Зато в конструкторе можно коннектить на невиртуальный слот, который вызывает виртуальный метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:39 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
rovanВерно. Зато в конструкторе можно коннектить на невиртуальный слот, который вызывает виртуальный метод.Согласен, вчем мои производные трейды плохи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:41 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
По ссылкам ты не сходил. Почитай хотя бы это . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 18:21 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
rovanПо ссылкам ты не сходил. Почитай хотя бы это .Детский сад, ребята работают с трейдом и не стопают его если чтото случилось,я тоже попробовал привинтить такуюже методику потом только крэши получал изза того что обьект уже разволился а я в него чтото там имичу,привизать стоп функцию к таким ридерам и не хранить пул проблемотично, сколько книг не пересмотрел везде переопределяют метод ран и вводят стоп функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2012, 10:50 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Ты на каждое действие собрался создавать по потоку? Или, всё-таки, независимые потоки для разных классов операций, которые необходимо выполнять параллельно? Посмотри код в приложении. Там все кайлом тёсано, но, при должном старании, можно получить более изящное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 14:26 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
rovanТы на каждое действие собрался создавать по потоку? Или, всё-таки, независимые потоки для разных классов операций, которые необходимо выполнять параллельно? Посмотри код в приложении. Там все кайлом тёсано, но, при должном старании, можно получить более изящное решение.Что насчет этого скажите?(QThread: Destroyed while thread is still running) вот главная пробема я могу закрыть окно пока там чтото делается,и каждый знает что надо коректно завершить поток а для этого надо хрунить пул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 15:22 |
|
||
|
pure vitual slot connection
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы корректно завершить поток, необязательно хранить пул. Можно обойтись без него. Конкретно в приведённом примере - приведя деструктор MainWindow к виду: Код: plaintext 1. 2. 3. 4. 5. 6. Но, если есть желание, попробуй связку QThreadPool и QRunnable, но тут я уже ничего не скажу - не пользовался. Offtopic: Русский - не родной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 17:22 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38023849&tid=2020704]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 289ms |
| total: | 543ms |

| 0 / 0 |
