Передача QSqlQueryModel через класс управления

Как мне передать QSqlQueryModel из класса, который подключается и запрашивает базу данных через класс управления или QMainWindow в моей попытке и вернуться к виджету, нуждающемуся в информации?

Я думал, что могу передать ссылку на объект QSqlQueryModel, но это не работает или я я делаю что-то не так.

Я не нашел примеров, показывающих, что я делаю в Qt Developer страница.


person Brandon Clark    schedule 15.08.2012    source источник


Ответы (1)


Похоже, это просто ошибки компилятора, ничего общего с Qt.

Короче говоря, вы путаете свои указатели и ссылки.

Ошибка №1:

cardList = new List(sqlModel->getListModel());

Вы передаете ссылку, когда List принимает указатель. Исправьте тип возврата из getListModel или исправьте строку выше.

Далее вы не указываете второй аргумент, то есть родительский QWidget. Либо укажите свой MainWindow в качестве родителя, передайте 0, либо исправьте подпись вашего конструктора, чтобы предоставить значение по умолчанию (обычно 0).

Ошибка №2:

List::List(QSqlQueryModel *model, QWidget *parent) :  ListUI(parent){
    setListItems(&model);
}

Вы получаете model в качестве указателя, а затем пытаетесь получить адрес указателя. т.е. Вы делаете двойной указатель. Измените строку на

setListItems(model);

Надеюсь, это поможет.

person Matthew    schedule 15.08.2012
comment
понял, спасибо! Я рад, что столкнулся с этой ошибкой и попросил помощи. Мне действительно нужно снова попрактиковаться в базовых навыках, давно. - person Brandon Clark; 16.08.2012