А какие вобще сигналы ловятся слотами?, по нажатию кнопки на Label |
Здравствуйте, гость ( Вход | Регистрация )
А какие вобще сигналы ловятся слотами?, по нажатию кнопки на Label |
Litkevich Yuriy |
7.5.2008, 14:50
Сообщение
#21
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а вне студии, а в ее(!) командной строке, можешь какой-нибудь Qt'явый пример скомпилить, который использует сигналы и слоты?
|
|
|
Don |
7.5.2008, 15:02
Сообщение
#22
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
7.5.2008, 15:24
Сообщение
#23
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
просто у студии есть своя командная строка, поищи ее в кнопке пуск там где студия,
Немного о старом: да и тебе лучше создавать сразу проект для студии вместо мэйкфайлов, где-то в форуме упоминалась проблема работы в студии ищи по ключевому слову VS 2005 вообщем тебе надо почитать Компиляция и прочее, для начинающих Вначале может показаться - вода - но ты всю ветку прочитай, прозапас еще ссылка Сборка qt + vs2005 |
|
|
ViGOur |
7.5.2008, 15:33
Сообщение
#24
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Чтобы с все не обламывалось на макросе Q_OBJECT, нужно файлу *.h, в котором стоит это макрос в свойствах указать:
Ветвь "Configuration Properties / General" строка "Tool" Цитата Custom Build Tool Для Debug версии Ветвь "Configuration Properties / Custom Build Step / General" Строка "Command Line" Цитата $(QTDIR)\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"$(QTDIR)\include\QtCore" -I"$(QTDIR)\include\QtCore" -I"$(QTDIR)\include\QtGui" -I"$(QTDIR)\include\QtGui" -I"$(QTDIR)\include" -I"$(QTDIR)\include\ActiveQt" -I"debug" -I"." -I$(QTDIR)\mkspecs\win32-msvc2005 -D_MSC_VER=1400 -DWIN32 mainwindow.h -o debug\moc_mainwindow.cpp Строка "Description" Цитата MOC mainwindow.h Строка "Outputs" Цитата debug\moc_mainwindow.cpp Строка "Additional Dependencies" Цитата $(QTDIR)\bin\moc.exe;mainwindow.h Для Release версии Строка "Command Line" Цитата $(QTDIR)\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"$(QTDIR)\include\QtCore" -I"$(QTDIR)\include\QtCore" -I"$(QTDIR)\include\QtGui" -I"$(QTDIR)\include\QtGui" -I"$(QTDIR)\include" -I"$(QTDIR)\include\ActiveQt" -I"release" -I"." -I$(QTDIR)\mkspecs\win32-msvc2005 -D_MSC_VER=1400 -DWIN32 mainwindow.h -o release\moc_mainwindow.cpp Строка "Description" Цитата MOC mainwindow.h Строка "Outputs" Цитата release\moc_mainwindow.cpp Строка "Additional Dependencies" Цитата $(QTDIR)\bin\moc.exe;mainwindow.h где mainwindow.h имя твоего файла в котором находится макрос Q_OBJECT, следует заменить на твое конечно же. После компиляции будут созданы файлы moc_mainwindow.h в директориях Release и Debug, в зависимости для какой версии компилишь, эти файлы следует добавить в проект, чтобы компилятор не ругался на ошибки линковки. Вроде бы и все. |
|
|
Don |
7.5.2008, 15:48
Сообщение
#25
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
А в строке "Outputs" точно debug\moc_mainwindow.cpp ?
Просто после компиляции в папке debug появляется moc_mainwindow.cpp а не moc_mainwindow.h, который нада добавить в проект как ты говорил внизу поста. |
|
|
ViGOur |
7.5.2008, 16:01
Сообщение
#26
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Don |
7.5.2008, 16:17
Сообщение
#27
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сделал всё как было описано, ошибки пропали. Но появилась такая
Error 1 error C2248: 'QWidget::QWidget' : cannot access private member declared in class 'QWidget' Наверное она уже не связана с QOBJECT и слотами, но всё же может подскажите из-за чего она могла появится. Место где она появилась указывается в конце объявления класса в заголовочном файле. |
|
|
ViGOur |
7.5.2008, 16:31
Сообщение
#28
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Покажи строку, на которую так ругается
|
|
|
Don |
7.5.2008, 16:48
Сообщение
#29
|
Студент Группа: Новичок Сообщений: 59 Регистрация: 19.3.2008 Пользователь №: 127 Спасибо сказали: 0 раз(а) Репутация: 0 |
Покажи строку, на которую так ругается }; Ну вот вобщем весь заголовочный файл: CODE #ifndef LCDRANGE_H #define LCDRANGE_H #include <QWidget> #include <QtGui> class Life : public QWidget { Q_OBJECT public: Life(QWidget *parent = 0); void smile(int x, int y); protected: virtual void paintEvent(QPaintEvent*); public slots: void ris(Life ); private: int imatrix[10][10]; int newmatrix[10][10]; }; <======================== в этой строке показывет ошибку #endif весь private убирал, ошибка таже в том же месте Сообщение отредактировал Don - 7.5.2008, 16:49 |
|
|
ViGOur |
7.5.2008, 16:54
Сообщение
#30
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Да нет, я думаю, что ты где-то обращаешься на прямую к imatrix или к newmatrix из вне данного класса.
|
|
|
Текстовая версия | Сейчас: 11.12.2024, 15:54 |