crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> потоки и сигналы (QT3.3.8)
karabura
  опции профиля:
сообщение 23.6.2009, 10:21
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 23.6.2009
Пользователь №: 843

Спасибо сказали: 0 раз(а)




Репутация:   0  


Проблема не оригинальная, следующая (я здесь нашёл в FAQ такую тему - но мне не подошло, она здесь для QT4):
Имеется главный поток, в виде формочки, на которой должна отображаться быстро меняющаяся информация, и поток,
который собственно эту информацию и достаёт (в бесконечном цикле). Главная форма нужна, дабы управлять потоком.
А поток обновляет информацию на главной формочке. Я попробовал вот так:
http://www.forum.crossplatform.ru/index.ph...%E6%E5%ED%E8%E5
не получилось, понятно, что вряд ли от QT4 получится в QT3.
Дайте пожалуйста ссылку, как проще это сделать в QT3 (или пример по существу).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
SABROG
  опции профиля:
сообщение 23.6.2009, 13:31
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Файл frmMain.h, видишь что там написано:

/****************************************************************************
** Form interface generated from reading ui file 'frmMain.ui'
**
** Created: Втр Р˜СЋРЅ 23 10:20:35 2009
**      by: The User Interface Compiler ($Id: qt/main.cpp   3.3.8   edited Jan 11 14:47 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
...
class Form1 : public QMainWindow
{
    Q_OBJECT
    
    MThread *mthread;
public:
    Form1( QWidget* parent = 0, const char* name = 0, WFlags fl = WType_TopLevel );
    ~Form1();


Если ты сделаешь make clean && make distclean && qmake && make, то твои изменения все потеряются. Тебе надо выносить класс в отдельный модуль. Косяк скорее всего в том, что какая-то часть была изменена, а при компиляции эти изменения не видны. Нужно перекомпилить все приложение.

А вообще лучше переходи на Qt 4.

Сообщение отредактировал SABROG - 23.6.2009, 13:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
karabura
  опции профиля:
сообщение 23.6.2009, 13:38
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 23.6.2009
Пользователь №: 843

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(SABROG @ 23.6.2009, 16:31) *
Файл frmMain.h, видишь что там написано:

/****************************************************************************
** Form interface generated from reading ui file 'frmMain.ui'
**
** Created: Втр Р˜СЋРЅ 23 10:20:35 2009
**      by: The User Interface Compiler ($Id: qt/main.cpp   3.3.8   edited Jan 11 14:47 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
...
class Form1 : public QMainWindow
{
    Q_OBJECT
    
    MThread *mthread;
public:
    Form1( QWidget* parent = 0, const char* name = 0, WFlags fl = WType_TopLevel );
    ~Form1();


Если ты сделаешь make clean && make distclean && qmake && make, то твои изменения все потеряются. Тебе надо выносить класс в отдельный модуль. Косяк скорее всего в том, что какая-то часть была изменена, а при компиляции эти изменения не видны. Нужно перекомпилить все приложение.

А вообще лучше переходи на Qt 4.

Да, конечно я читал - и именно поэтому не делал qmake. Но я предполагал - что обычный make в этом случае отследит изменения (как это ему и положено).
Спасибо за ответ, я попробую вынести в отдельный модель, ясно - что переходить на 4 придётся в последствии.
Но я не смог в QT Creator - е его средствами создать свою функцию-слот (как в designer) - и это мне не очень понравилось. Хотя скорее всего нужно тщательно изучать матчасть :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- karabura   потоки и сигналы (QT3.3.8)   23.6.2009, 10:21
- - Litkevich Yuriy   Цитата(karabura @ 23.6.2009, 14:21) не по...   23.6.2009, 10:47
|- - karabura   объявление класса потока - в отдельном h файле, cl...   23.6.2009, 11:28
- - SABROG   karabura, а в Qt 3 нет сигналов и слотов или поток...   23.6.2009, 10:51
- - Kagami   Цитатаconnect(&mthread, SIGNAL( sendWL(char *)...   23.6.2009, 12:05
|- - karabura   Цитата(Kagami @ 23.6.2009, 15:05) Цитатаc...   23.6.2009, 12:15
- - SABROG   Цитатано тем не менее характер ошибки не меняется ...   23.6.2009, 12:28
|- - karabura   ‘Form1::connect(MThread** Цитата(SABR...   23.6.2009, 12:31
|- - karabura   убрал ссылку из connect: connect(mthread, SIGNAL( ...   23.6.2009, 12:37
- - SABROG   А нет, это я ошибся, у тебя сигнал из потока посыл...   23.6.2009, 12:35
- - SABROG   Покажи объявление mthread. MThread*& Ссылка ...   23.6.2009, 12:38
|- - karabura   Цитата(SABROG @ 23.6.2009, 15:38) Покажи ...   23.6.2009, 12:45
- - SABROG   Выложи тут в архиве исходники.   23.6.2009, 13:01
|- - karabura   Цитата(SABROG @ 23.6.2009, 16:01) Выложи ...   23.6.2009, 13:09
|- - karabura   Не получилось сразу загрузить Цитата(SABROG ...   23.6.2009, 13:14
- - SABROG   Цитата(karabura @ 23.6.2009, 14:09) Прошу...   23.6.2009, 13:11
- - SABROG   Файл frmMain.h, видишь что там написано: /*******...   23.6.2009, 13:31
|- - karabura   Цитата(SABROG @ 23.6.2009, 16:31) Файл fr...   23.6.2009, 13:38
- - pastor   QThread в Qt3 не является наследником QObject, поэ...   23.6.2009, 14:11
|- - karabura   Цитата(pastor @ 23.6.2009, 17:11) QThread...   24.6.2009, 9:07
- - SABROG   От оно чё михалыч! Значит я правильно говорю, ...   23.6.2009, 14:14
- - igor_bogomolov   Цитата(karabura @ 23.6.2009, 11:21) Дайте...   23.6.2009, 17:18
- - Litkevich Yuriy   Цитата(karabura @ 23.6.2009, 17:14) Я не ...   23.6.2009, 20:16


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.12.2024, 1:46