Здравствуйте, гость ( Вход | Регистрация )
karabura | Дата 24.6.2009, 9:07 |
QThread в Qt3 не является наследником QObject, поэтому и возникает ошибка компиляции при
(ругается на первый параметр) Для реализации сигналов слотов в QThread (Qt3) нужно прибегнуть к двойному наследованию
Очень ценно! Спасибо большое! Вчера пересел за 4, всё заработало. Но всё равно под третьим запущу! |
|
Litkevich Yuriy | Дата 23.6.2009, 20:16 |
Я не совсем просто понимаю, чем она в контексте простейшей задачи хуже QT4? Они существенно отличаются. В общем случае эти две версии несовместимы. В 4-ке появилось много полезных возможностей. Большенство людей работают в 4-ке, и могут полноценно подсказать только по ней. 3-ку проблемно скомпилировать под виндовоз, с бесплатными версиям напряг. |
|
igor_bogomolov | Дата 23.6.2009, 17:18 |
Дайте пожалуйста ссылку, как проще это сделать в QT3 В тройке для этих целей используются события: QCustomEvent и QCoreApplication::postEventпочитать можно здесь: http://www.prog.org.ru/index.php?topic=809...g43192#msg43192 http://www.prog.org.ru/index.php?topic=891...g50072#msg50072 |
|
SABROG | Дата 23.6.2009, 14:14 |
От оно чё михалыч! Значит я правильно говорю, надо на Qt 4 пересаживаться ![]() |
|
pastor | Дата 23.6.2009, 14:11 |
QThread в Qt3 не является наследником QObject, поэтому и возникает ошибка компиляции при
(ругается на первый параметр) Для реализации сигналов слотов в QThread (Qt3) нужно прибегнуть к двойному наследованию
|
|
karabura | Дата 23.6.2009, 13:38 |
Файл frmMain.h, видишь что там написано:
Если ты сделаешь make clean && make distclean && qmake && make, то твои изменения все потеряются. Тебе надо выносить класс в отдельный модуль. Косяк скорее всего в том, что какая-то часть была изменена, а при компиляции эти изменения не видны. Нужно перекомпилить все приложение. А вообще лучше переходи на Qt 4. Да, конечно я читал - и именно поэтому не делал qmake. Но я предполагал - что обычный make в этом случае отследит изменения (как это ему и положено). Спасибо за ответ, я попробую вынести в отдельный модель, ясно - что переходить на 4 придётся в последствии. Но я не смог в QT Creator - е его средствами создать свою функцию-слот (как в designer) - и это мне не очень понравилось. Хотя скорее всего нужно тщательно изучать матчасть ![]() |
|
SABROG | Дата 23.6.2009, 13:31 |
Файл frmMain.h, видишь что там написано:
Если ты сделаешь make clean && make distclean && qmake && make, то твои изменения все потеряются. Тебе надо выносить класс в отдельный модуль. Косяк скорее всего в том, что какая-то часть была изменена, а при компиляции эти изменения не видны. Нужно перекомпилить все приложение. А вообще лучше переходи на Qt 4. |
|
karabura | Дата 23.6.2009, 13:14 |
Не получилось сразу загрузить[attachment=678:qtdesigner_copy.tar.gz] Если ты в Qt впервые, то зачем ты выбрал такую старую её версию? А я и не выбирал, она у меня по дефолту стояла, разве она не работоспособная? Я не совсем просто понимаю, чем она в контексте простейшей задачи хуже QT4? |
|
SABROG | Дата 23.6.2009, 13:11 |
Прошу не издеваться над "сырым кодом" Если ты в Qt впервые, то зачем ты выбрал такую старую её версию? Издеваться никто не будет, а если будут, то тебе только на пользу, будешь знать как надо делать правильно ![]() |
|
karabura | Дата 23.6.2009, 13:09 |
Выложи тут в архиве исходники. Там правда не всё, одного заголовочника нет - но это к сути отношения не имеет. Прошу не издеваться над "сырым кодом" ![]() |
|
Просмотр темы полностью (откроется в новом окне) | |
![]() |
Текстовая версия | Сейчас: 7.6.2023, 7:34 |