にダイアログボックスのメンバーにアクセスできません。メインウィンドウの「追加」ボタンをクリックすると、メインウィンドウが機能し、ダイアログボックスが表示されます。は、私がここにQT5 Visual Studioのチュートリアルと一緒に従うことをしようとしていますQT5
このダイアログボックスには、値を取得するQLineEditオブジェクトが2つあります。しかし、私はダイアログのこれらのメンバーにアクセスできないようです。私が手
エラー:ダイアログウィンドウ内
2つのオブジェクトが "nameEdit"(ハイライト)と(その下) "emailEdit" です
- "クラスのAddDialog ''は何のメンバーを持っていません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/