crossplatform.ru

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


  Ответ в error: expected ')' before 'id'
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 9.8.2011, 16:24
  тип ColorBoxWidgetId не известен.
QMainWindow Дата 9.8.2011, 15:27
  У меня в других классах куча переменных, которые совпадают с параметрами методов. Все ок.
xls Дата 9.8.2011, 14:48
  Да у вас id это и член класса и наименование параметра.Что-нить надо переименовать
QMainWindow Дата 9.8.2011, 13:49
  Вылезка эта ошибка: D:\Documents\Qt\fb2Reader\fb2Reader-build-desktop\..\fb2Reader\ColorBox.h:13: ошибка: expected ')' before 'id' Какая еще скобка? Все скобки стоят как надо...

Вот коды:
colorbox.h
Раскрывающийся текст
#ifndef COLORBOX_H
#define COLORBOX_H

#include <QMouseEvent>
#include <QColorDialog>
#include <QPainter>
#include <QFlags>

class ColorBox
{
    Q_OBJECT
public:
    ColorBox(ColorBoxWidgetId id, QWidget *parent = 0); //строка 13
    enum ID
    {
    FontColorBox, BackgroundColorBox, NotesColorBox
    };
    Q_DECLARE_FLAGS(ColorBoxWidgetId, ID)
private:
    QColor color;
    QPainter p;
    ColorBoxWidgetId id;
protected:
    virtual void mousePressEvent(QMouseEvent *ev);
    virtual void paintEvent(QPaintEvent *e);
signals:
    void clicked();
    void selectedColor(QColor color, ColorBoxWidgetId id);
public slots:
    void chooseColor();
    void setColor(QColor color);
};

#endif // COLORBOX_H

colorbox.cpp
Раскрывающийся текст
#include "ColorBox.h"
#include <QDebug>

ColorBox::ColorBox(ColorBoxWidgetId id, QWidget *parent)
{
    this->setGeometry(0,0,parent->width(),parent->height());
    this->id = id;
}

void ColorBox::chooseColor()
{
    QColorDialog *dialog = new QColorDialog(this);
    connect(dialog, SIGNAL(colorSelected(QColor)), this, SLOT(setColor(QColor)));
    dialog->exec();
}

void ColorBox::setColor(QColor color)
{
    this->color = color;
    update();
    emit selectedColor(color, id);
}

void ColorBox::mousePressEvent(QMouseEvent *ev)
{
    emit clicked();
}

void ColorBox::paintEvent(QPaintEvent *e)
{
    p.begin(this);
    p.fillRect(this->rect(), color);
    p.end();
}
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 21.1.2025, 2:13