Я хотел бы получить доступ к некоторым функциям виджета диалогового типа из моего mainwindow.cpp
.(Qt) Ошибка чтения при попытке использовать любую функцию из другого класса виджетов на моем MainWindow
Я создал простую функцию в классе виджета, который возвращает INT, который выглядит следующим образом:
dialog.h:
public:
int getRowCountData();
dialog.cpp:
int Dialog::getRowCountData()
{
return ui->tableWidget->rowCount();
}
Использование:
мой главныйWindow.h:
private:
Dialog *dialog;
мой mainwindow.cpp:
dialog = new Dialog;
int count = dialog->getRowCountData(); <<<<<--------------this throws a read access error!
код: 0xc0000005 чтения нарушение прав доступа по адресу: 0х0 = 0х0 Flas
Как я использовать публичные функции другого виджета, как этот простой ?
Я не должен ссылаться на целое число, которое я хотел бы установить с помощью функции rowcount. Сигналы и слоты отлично работали для меня в прошлом, когда они использовали их для передачи данных между виджетами, но я хотел бы использовать функцию моего виджета диалога, как это, если смогу.
Я пришел к этому методу для извлечения данных на другой виджет, разместив this question: AccessingQTableWidget's data from another class. @ Чернобыль, может быть, у вас есть какое-то дальнейшее понимание?
Заранее благодарен!
Вопрос нуждается в дополнительном коде, проблема не видна сейчас. – hyde
Кроме того, bcaktrace будет хорошо. Если это строка, которую вы сейчас указываете в вопросе, указатель «dialog» равен 0. Почему, это не очевидно из вопроса. – hyde
В Qt Creator перейдите к строкам с помощью 'new Dialog' и' dialog-> 'и нажмите F2 на оба имени диалогового окна. Представляют ли они вас в одно и то же место (возможно, объявление в .h файле класса)? Установите контрольные точки или добавьте отладочные отпечатки для обоих, чтобы увидеть, действительно ли создается диалоговое окно, прежде чем пытаться его использовать. – hyde