crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Наследование QComboBox
AntonH851
  опции профиля:
сообщение 11.3.2010, 16:11
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Привет!

есть такая проблема:

мне нужен QComboBox который при попытке добавить в список новое значение выдавал сигнал, который я уже бы обрабатывал
своим слотом.

написал вот такой код:

SqlComboBox.h
#include <QtGui>

class SqlComboBox : public QComboBox
{
    Q_OBJECT

public:
    SqlComboBox(QWidget *parent = 0);
    void insertItem(const QString &text, int index = -1);

signals:
    void insertItemSignal(QString text);

};


SqlComboBox.cpp
#include "SqlComboBox.h"
#include <QMessageBox>

SqlComboBox::SqlComboBox(QWidget *parent)
    : QWidget(parent)
{

}

void SqlComboBox::insertItem(const QString &text, int index)
{
    int result =
            QMessageBox::question(this, tr("Новый элемент"),
                                  tr("Подтвердите вставку \"") + text +
                                  tr(" в список"),
                                  QMessageBox::Ok, QMessageBox::Cancel);
    if (result == QMessageBox::Yes)
    {
        emit insertItemSignal(text);
    }
}


при попытке компиляции выдает такую ошибку:
Цитата
C:/QP/SqlComboBox/SqlComboBox.cpp:5: error: type 'QWidget' is not a direct base of 'SqlComboBox'


Впервые сталкиваюсь с таким делом (в смысле наследование компонента), поэтому не очень представляю что нужно делать,
подскажите что у меня не так пожалуйста. Спасибо заранее :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 11.3.2010, 16:25
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(AntonH851 @ 11.3.2010, 16:11) *
: QWidget(parent)

!!!
от чего наследуешься?

Цитата(AntonH851 @ 11.3.2010, 16:11) *
class SqlComboBox : public QComboBox

Цитата(AntonH851 @ 11.3.2010, 16:11) *
SqlComboBox::SqlComboBox(QWidget *parent) : QWidget(parent)


найди одно отличие!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 11.3.2010, 16:28
Сообщение #3


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


SqlComboBox::SqlComboBox(QWidget *parent)
    : QComboBox(parent)
{

}


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 11.3.2010, 16:38
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Цитата(kwisp @ 11.3.2010, 16:25) *
Цитата(AntonH851 @ 11.3.2010, 16:11) *
: QWidget(parent)

!!!
от чего наследуешься?

Цитата(AntonH851 @ 11.3.2010, 16:11) *
class SqlComboBox : public QComboBox

Цитата(AntonH851 @ 11.3.2010, 16:11) *
SqlComboBox::SqlComboBox(QWidget *parent) : QWidget(parent)


найди одно отличие!


написал
SqlComboBox::SqlComboBox(QWidget *parent)
    : QComboBox(parent)
{

}


при компиляции получаю следующее:
Цитата
debug/SqlComboBox.o: In function `SqlComboBox':
C:\QP\SqlComboBox/SqlComboBox.cpp:5: undefined reference to `vtable for SqlComboBox'
C:\QP\SqlComboBox/SqlComboBox.cpp:5: undefined reference to `vtable for SqlComboBox'
C:\QP\SqlComboBox/SqlComboBox.cpp:5: undefined reference to `vtable for SqlComboBox'
C:\QP\SqlComboBox/SqlComboBox.cpp:5: undefined reference to `vtable for SqlComboBox'
debug/SqlComboBox.o:C:\QP\SqlComboBox/SqlComboBox.cpp:19: undefined reference to `SqlComboBox::insertItemSignal(QString)'
debug/SqlComboBox.o:C:\QP\SqlComboBox/SqlComboBox.h:8: undefined reference to `SqlComboBox::staticMetaObject'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\SqlComboBox.exe] Error 1
mingw32-make: *** [debug] Error 2
Завершено с кодом 2.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 11.3.2010, 17:13
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


ну вот что то есть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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