Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: tsdaemon от Май 30, 2010, 01:19



Название: Почему класс, наследованый от QTableWidget не приводиться к QWidget?
Отправлено: tsdaemon от Май 30, 2010, 01:19
имею такой код
inImportantTable = new CargoTableWidget(0);
ui->toolBox->addItem(inNImportantTable);
на что имею
error: no matching function for call to `QToolBox::addItem(CargoTableWidget*&)'

вот реализация
class CargoTableWidget:public QTableWidget
{
    Q_OBJECT
    private:
        CargoParamMass* linkedTable;
        QStringList *header;
    public slots:
        void changeRow(int,int);
    signals:
        void rowChanged(QString,QString);
    public:
        CargoTableWidget();
        CargoTableWidget(QWidget*);
        void linkTable(CargoParamMass*);
        bool syncByLTable();
        bool addNewRow(cargoParam*);
        ~CargoTableWidget();
};
wtf??


Название: Re: Почему класс, наследованый от QTableWidget не приводиться к QWidget?
Отправлено: Anarion от Май 30, 2010, 04:06
Предполагая, что ui->toolBox - это объект класса QTollBox: есть 2 прототипа для метода addItem.

int QToolBox::addItem ( QWidget * widget, const QIcon & iconSet, const QString & text )
int QToolBox::addItem ( QWidget * w, const QString & text )

В обоих методах нет формальных параметров, определенных по умолчанию. Т.е. при их вызове тебе нужно указать все параметры в явном виде, например:

ui->toolBox->addItem(inNImportantTable,"Text"); //второй прототип


Название: Re: Почему класс, наследованый от QTableWidget не приводиться к QWidget?
Отправлено: tsdaemon от Май 30, 2010, 06:08
Данке Шон!