Информация об изменениях

Сообщение Re: Как изменить тип компонента в QT Creator? от 09.09.2022 16:09

Изменено 09.09.2022 16:14 K13

Re: Как изменить тип компонента в QT Creator?
RF>файл qmytablewidget.cpp :

RF>QMyTableWidget::QMyTableWidget(QWidget *parent)

RF>{
RF> QTableWidget(); // почему-то компилятор ругается на QTableWIdget(parent);
RF> // инициализация прочих полей класса QMyTableWidget;
RF>}
QMyTableWidget::QMyTableWidget(QWidget *parent) : QTableWidget( parent )
{
    // инициализация прочих полей класса QMyTableWidget;
}
Re: Как изменить тип компонента в QT Creator?
RF>файл qmytablewidget.cpp :

RF>QMyTableWidget::QMyTableWidget(QWidget *parent)

RF>{
RF> QTableWidget(); // почему-то компилятор ругается на QTableWIdget(parent);
RF> // инициализация прочих полей класса QMyTableWidget;
RF>}
QMyTableWidget::QMyTableWidget(QWidget *parent) : QTableWidget( parent )
{
    // инициализация прочих полей класса QMyTableWidget;
}


потому что QTableWidget(); -- это НЕ вызов предка.
это создание временного локального объекта без имени, который убивается после ;

иногда это полезно: например, освободить память std::vector, т.к. .clear() режет size() сохраняя .capacity():
std::vector<int>().swap( myVector );