2012-08-15 4 views
0

컨트롤 클래스 또는 QMainWindow in my attempt을 통해 데이터베이스에 연결하여 쿼리하고 다시 정보를 필요로하는 위젯에 QSqlQueryModel을 전달하는 방법은 무엇입니까?컨트롤 클래스를 통해 QSqlQueryModel 전달

QSqlQueryModel에 참조 위치를 전달할 수 있다고 생각했지만 작동하지 않거나 I am doing something wrong입니다.

Qt Developer page에서 내가 뭘하고 있는지 보여주는 예를 찾을 수 없습니다.

답변

0

이들은 단지 컴파일러 오류 일뿐입니다. Qt와는 특별히 관련이 없습니다.

간단히 말해서 포인터와 참조가 섞여 있습니다.

오류 # 1 : List 포인터를 취한다 때

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

당신은 참조를 전달한다. 반환 유형을 getListModel에서 수정하거나 위의 행을 수정하십시오.

다음으로 두 번째 인수, 즉 부모 QWidget을 지정하지 않았습니다. MainWindow을 부모로 지정하거나 0을 전달하거나 생성자의 서명을 수정하여 기본값 (일반적으로 0)을 제공하십시오.

오류 # 2 :

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

당신은 포인터로 model를 수신 한 후 포인터의 주소를 가지고하려고했습니다. 나는. 이중 포인터를 만들고있어. 회선을

setListItems(model); 

으로 변경하십시오.

+0

감사합니다. 나는이 오류가 발생하여 도움을 청하기를 기쁘게 생각합니다. 잠시 동안 다시 기본 기술을 연습해야합니다. –

관련 문제