crossplatform.ru

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

5 страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
> А какие вобще сигналы ловятся слотами?, по нажатию кнопки на Label
Don
  опции профиля:
сообщение 30.4.2008, 21:37
Сообщение #1


Студент
*

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

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




Репутация:   0  


А какие вобще сигналы ловятся слотами?
Я хотел к примеру, чтоб по нажатию кнопки на Label менялся шрифт текста, но ничего не получилось.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 30.4.2008, 22:15
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


напиши свой слот, который меняет шрифт, соедени его с сигналом кнопки и усё
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Don
  опции профиля:
сообщение 1.5.2008, 23:06
Сообщение #3


Студент
*

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

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




Репутация:   0  


class Life : public QWidget 
{
    Q_OBJECT
public:
    Life(QWidget *parent = 0);
protected:
    virtual void paintEvent(QPaintEvent*);
public slots:
    void ris();
};

Life::Life(QWidget *parent) : QWidget(parent)
{
}

void Life::ris()
{
      //рисуется рисунок
}

int main(int argc, char *argv[])
{    
    QApplication app(argc,argv);
    QWidget window;
    QPushButton go("Go");
    Life a;
    QHBoxLayout lay;                    
    lay.addWidget(&a);                  
    lay.addWidget(&go);
    window.setLayout(&lay);            
    QObject::connect(&go, SIGNAL(clicked()), &a, SLOT(ris()));
    window.show();
    return app.exec();
}

Мне нужно чтоб по нажатию кнопки вызывалась функция ris(), которая в окне рисует рисунок. Но ничего не получается. Что я делаю не так?
Причина редактирования: пользуемся тэгом cod=cpp (на панели инструментов =cpp подписываешь руками))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.5.2008, 9:10
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


у тебя это не в одном файле?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Don
  опции профиля:
сообщение 2.5.2008, 18:57
Сообщение #5


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.5.2008, 9:10) *
у тебя это не в одном файле?

В одном
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.5.2008, 19:03
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


тогда надо глянуть вот этот пост
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Don
  опции профиля:
сообщение 2.5.2008, 20:02
Сообщение #7


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.5.2008, 19:03) *
тогда надо глянуть вот этот пост

Добавил "main.moc" в конец файла. Старые ошибки пропали, но появилась эта:
Error 1 fatal error C1083: Cannot open include file: 'main.moc': No such file or directory
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.5.2008, 20:10
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


надо qmake сделать,
в крайнем случае раздели проект на несколько файлов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Don
  опции профиля:
сообщение 2.5.2008, 21:02
Сообщение #9


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.5.2008, 20:10) *
надо qmake сделать,
в крайнем случае раздели проект на несколько файлов.

Сделал qmake, таже ошибка:
Error 1 fatal error C1083: Cannot open include file: 'main.moc': No such file or directory

Разбил на два файла:
Life.h
CODE

#ifndef LCDRANGE_H
#define LCDRANGE_H

#include <QWidget>
#include <QtGui>


class Life : public QWidget
{
Q_OBJECT
public:
Life(QWidget *parent = 0);
protected:
virtual void paintEvent(QPaintEvent*);
public slots:
void ris(Life );
};
#endif


Life.cpp
CODE

#include <Life.h>

Life::Life(QWidget *parent) : QWidget(parent)
{
}
void Life::ris(Life a)
{
//рисует рисунок
}

int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QWidget window;
QPushButton go("Go");
Life a;
QHBoxLayout lay;
lay.addWidget(&a);
lay.addWidget(&go);
window.setLayout(&lay);
QObject::connect(&go, SIGNAL(clicked()), &a, SLOT(ris(Life )));
window.show();
return app.exec();
}


Все равано те же 4 ошибки, которые и были:
Error 1 error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Life::metaObject(void)const " (?metaObject@Life@@UBEPBUQMetaObject@@XZ) Life.obj
Error 2 error LNK2001: unresolved external symbol "public: virtual void * __thiscall Life::qt_metacast(char const *)" (?qt_metacast@Life@@UAEPAXPBD@Z) Life.obj
Error 3 error LNK2001: unresolved external symbol "public: virtual int __thiscall Life::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Life@@UAEHW4Call@QMetaObject@@HPAPAX@Z) Life.obj
Error 4 fatal error LNK1120: 3 unresolved externals d:\MyProgs\C++\Life\debug\life.exe 1

Да и ещё: как вы создаёте классы? Добавляете через Project->Add Class... или создаете файл *.сср, проводите с ним qmake, потом в Visal Stidio 2005 добавляете файл *.h и вписывете в него необходимый код?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.5.2008, 21:08
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


я вообще студией не пользуюсь, в том посте который я указывал, там говорилось про студию, прочитай тему полностью, вроде клин солюшен в студии есть, его можно сделать, либо жди когда ViGOur, чего-нибудь посоветует, он в студии работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 28.3.2024, 23:38