Qt Creatorでコードを書いているのですが、以下のコードで次のようなエラーが出ます。
Mastering Qt5という本のサンプルを丸写ししていて、異なる部分も無いのですが、エラーが出ます。
ご教授お願いします。
C:\Users\Yuki\Documents\Qt\Chapter_03\gallery-desktop\albumlistwidget.cpp:10: エラー: C2512: 'Ui::AlbumListWidget' : クラス、構造体、共用体に既定のコンストラクターがありません。 C:\Users\Yuki\Documents\Qt\Chapter_03\gallery-desktop\albumlistwidget.cpp:13: エラー: C2027: 認識できない型 'Ui::AlbumListWidget' が使われています。
albumlistwidget.h
C++
1#ifndef ALBUMLISTWIDGET_H 2#define ALBUMLISTWIDGET_H 3 4#include <QWidget> 5#include <QItemSelectionModel> 6 7namespace Ui { 8 class AlbumListWidget; 9} 10 11class AlbumModel; 12 13class AlbumListWidget : public QWidget 14{ 15 Q_OBJECT 16public: 17 explicit AlbumListWidget(QWidget *parent = 0); 18 ~AlbumListWidget(); 19 20 void setModel(AlbumModel* model); 21 void setSelectionModel(QItemSelectionModel* selectionModel); 22 23private slots: 24 void createAlbum(); 25 26private: 27 Ui::AlbumListWidget* ui; 28 AlbumModel* mAlbumModel; 29 30signals: 31 32public slots: 33}; 34 35#endif // ALBUMLISTWIDGET_H 36
albumlistwidget.cpp
C++
1#include "albumlistwidget.h" 2#include "ui_albumlistwidget.h" 3 4#include <QInputDialog> 5 6#include "AlbumModel.h" 7 8AlbumListWidget::AlbumListWidget(QWidget *parent) : 9 QWidget(parent), 10 ui(new Ui::AlbumListWidget), 11 mAlbumModel(nullptr) 12{ 13 ui->setupUi(this); 14 15 connect(ui->createAlbumButton, &QPushButton::clicked, this, &AlbumListWidget::createAlbum); 16} 17 18AlbumListWidget::~AlbumListWidget() 19{ 20 delete ui; 21} 22 23void AlbumListWidget::setModel(AlbumModel *model) 24{ 25 mAlbumModel = model; 26 ui->albumList->setModel(mAlbumModel); 27} 28 29void AlbumListWidget::setSelectionModel(QItemSelectionModel *selectionModel) 30{ 31 ui->albumList->setSelectionModel(selectionModel); 32} 33 34void AlbumListWidget::createAlbum() 35{ 36 if (!mAlbumModel) { 37 return; 38 } 39 40 bool ok; 41 QString albumName = QInputDialog::getText(this, 42 "Create a new Album", 43 "Choose an name", 44 QLineEdit::Normal, 45 "New album", 46 &ok); 47 48 if (ok && !albumName.isEmpty()) { 49 Album album(albumName); 50 QModelIndex createdIndex = mAlbumModel->addAlbum(album); 51 52 ui->albumList->setCurrentIndex(createdIndex); 53 } 54} 55
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。