mainwindow.cpp
에서 대화 상자 유형 위젯의 일부 기능에 액세스하고 싶습니다.(Qt) 내 MainWindow에서 다른 위젯 클래스의 함수를 사용하려고 할 때 읽기 오류가 발생했습니다.
:
dialog.h :
public:
int getRowCountData();
dialog.cpp :
int Dialog::getRowCountData()
{
return ui->tableWidget->rowCount();
}
을
사용법 :
내 mainWindow.h :
(210)private:
Dialog *dialog;
내 mainwindow.cpp :
dialog = new Dialog;
int count = dialog->getRowCountData(); <<<<<--------------this throws a read access error!
코드 :
가 어떻게 같은 간단한 하나 다른 위젯의 공공 기능을 사용할 생각이 0x0의 FLA = 0x0으로 :에서 액세스 위반 읽기가 0xc0000005 ?
행 개수 기능을 사용하여 정수를 참조하지 않아야합니다. 위젯간에 데이터를 전송할 때 신호와 슬롯을 사용하면 과거의 신호와 슬롯이 좋았지 만 가능한 경우 대화창 위젯의 기능을 계속 사용하고 싶습니다.
this question: AccessingQTableWidget's data from another class을 게시하여 다른 위젯에서 데이터를 검색하는 방법에 대해 설명했습니다. @ 체르노빌 (Chernobyl) 어쩌면 당신은 더 많은 통찰력을 제공 할 수 있을까요?
미리 감사드립니다.
질문에 더 많은 코드가 필요하며 문제가 표시되지 않습니다. – hyde
또한 bcaktrace가 좋습니다. 만약 당신이 지금 질문에서 가리키는 라인이라면,'dialog' 포인터는 0입니다. 왜, 질문에서 분명하지 않습니다. – hyde
Qt Creator에서'new Dialog' 및'dialog->'로 행을 이동하고'dialog' 이름 모두에서 F2를 누릅니다. 그들은 당신을 같은 장소 (아마도 클래스의 .h 파일에있는 선언)로 데려다 줄까요? 중단 점을 설정하거나 둘 다에 대한 디버그 인쇄물을 추가하여 사용하기 전에'대화 상자 '가 실제로 생성되었는지 확인하십시오. – hyde