Russian Qt Forum
Сентябрь 28, 2024, 02:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Создать класс-наследник QGraphicsView  (Прочитано 5146 раз)
CynicVest
Гость
« : Апрель 21, 2011, 22:08 »

Здравствуйте, хотела бы разобраться с наследованием классов в Qt Creator. Создать класс, унаследованный от QGraphicsView, MyMapView, идентичный QGraphicsView, только с дополнительными слотами (стандартных не хватает для, например, масштабирования).
Крейэйтор ругается на конструктор при:
Код:
#ifndef QMAPVIEW_H
#define QMAPVIEW_H

#include <QGraphicsView>

class QMapView: public QGraphicsView
{
    Q_OBJECT
public:
    QMapView(QWidget *pwgt=0): QGraphicsView (QWidget *pwgt = 0)
    {

    }

public slots:
    void slotZoomIn()
    {
        scale(1.1, 1.1);
    }

    void slotZoomOut()
    {
        scale(1/1.1, 1/1.1);
    }

    //слот навигации
};
#endif // QMAPVIEW_H
конструктор хочется такой, без graphicsscene.

 еще все бы ничего, но при проектировании интерфейса Qt Designer непонятно каким образом на форму поставить именно MyMapView, если преобразовать GraphicsView к MyMapView жуткая ругань при сборке..

PS. Помогите пожалуйста с этой кашей в голове ;(
Записан
madRoger
Гость
« Ответ #1 : Апрель 21, 2011, 22:37 »

Код:
QMapView(QWidget *pwgt=0): QGraphicsView (QWidget *pwgt = 0)
Попробуйте так:
Код:
QMapView(QWidget *pwgt=0): QGraphicsView (pwgt)

Рекомендую разделять объявление класса и реализацию на .h и .cpp.

Чтобы добавить свой виджет в Designer, нужно собрать плагин. Пример можно глянуть тут.
http://www.prog.org.ru/topic_7343_0.html
Записан
CynicVest
Гость
« Ответ #2 : Апрель 21, 2011, 23:37 »

оу, все получилось, спасибо)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.112 секунд. Запросов: 20.