에서 대화 상자의 멤버에 액세스 할 수 없습니다. 기본 창이 작동하고 기본 창에서 "추가"버튼을 클릭 할 때 대화 상자가 나타납니다.내가 여기 QT5 비주얼 스튜디오 튜토리얼을 따라하려고 QT5
대화 상자에는 값을 가져 오려는 QLineEdit 개체가 두 개 있습니다. 하지만 대화 상자의 이러한 멤버에 액세스 할 수 없습니다. "클래스 'AddDialog은'어떤 멤버가 없다 '-
가 :
내가 얻는 오류 :
대화 창에서 두 객체
는"nameEdit "(강조)와 (아래)"emailEdit "입니다 nameEdit '-. "클래스'AddDialog은 '어떤 회원이 없습니다'emailEdit '
당신은 내가 내 AddDialog 클래스의 멤버에 액세스 할 수없는 이유가 무엇인지 볼 수 있을까요?
다음은 AddressBook.cpp 파일 (내 주 창)입니다.
#include "AddressBook.h"
#include "AddDialog.h"
#include "ui_AddDialog.h"
AddressBook::AddressBook(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
void AddressBook::on_addButton_clicked()
{
AddDialog dialog(this);
if (dialog.exec())
{
QString name = dialog.nameEdit->text();
QString email = dialog.emailEdit->text();
if (!name.isEmpty() && !email.isEmpty())
{
QListWidgetItem *item = new QListWidgetItem(name, ui.addressList);
item->setData(Qt::UserRole, email);
ui.addressList->setCurrentItem(item);
}
}
}
void AddressBook::on_addressList_currentItemChanged()
{
QListWidgetItem *curItem = ui.addressList->currentItem();
if (curItem) {
ui.nameLabel->setText("Name: " + curItem->text());
ui.emailLabel->setText("Email: " + curItem->data(Qt::UserRole).toString());
}
else {
ui.nameLabel->setText("<No item selected>");
ui.emailLabel->clear();
}
}
AddDialog.h (대화 상자) :
#include <QDialog>
#include "ui_AddDialog.h"
class AddDialog : public QDialog
{
Q_OBJECT
public:
AddDialog(QWidget *parent = Q_NULLPTR);
~AddDialog();
private:
Ui::AddDialog ui;
};
그리고 AddDialog.cpp (대화 상자) :
#include "AddDialog.h"
AddDialog::AddDialog(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
}
나는하려 단지 문제에 대한 관련 코드라고 생각되는 내용을 복사하십시오. 다만, 가 필요하다 : https://github.com/davek99/DK-QT_Address_Book/