Я хотел бы получить доступ к некоторым функциям виджета диалогового типа из моего mainwindow.cpp
.
Я создал простую функцию в классе виджетов, которая возвращает целое число, которое выглядит так:
диалог.ч:
public:
int getRowCountData();
диалог.cpp:
int Dialog::getRowCountData()
{
return ui->tableWidget->rowCount();
}
Применение:
мой mainWindow.h:
private:
Dialog *dialog;
мой mainwindow.cpp:
dialog = new Dialog;
int count = dialog->getRowCountData(); <<<<<--------------this throws a read access error!
код: 0xc0000005 нарушение доступа для чтения по адресу: 0x0 flas=0x0
как мне использовать публичные функции другого виджета, такие как эта простая?
Я не должен ссылаться на целое число, которое хочу установить с помощью функции rowcount. Сигналы и слоты отлично работали для меня в прошлом, когда я использовал их для передачи данных между виджетами, но я хотел бы придерживаться такой функции моего диалогового виджета, если смогу.
Я пришел к этому методу для получения данных в моем другом виджете, опубликовав этот вопрос: доступ к данным QTableWidget из другого класса. @Chernobyl, может быть, у вас есть дополнительная информация?
Заранее спасибо!
dialog
там равен 0. Почему, из вопроса не ясно. - person hyde   schedule 18.09.2014new Dialog
иdialog->
и нажмите F2 на обоих именахdialog
. Они ведут вас в одно и то же место (вероятно, в объявление в .h-файле класса)? Установите точки останова или добавьте отладочные отпечатки для обоих, чтобы увидеть, действительно лиdialog
создан, прежде чем пытаться его использовать. - person hyde   schedule 18.09.2014