つまり、ウィジェットを右クリックし、「スロットに移動...」を選択してスロットを作成します。
例 1、これは機能します。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
どうやらデザイナーは Ui::MainWindow* を探し、それが見つからない場合は完全にびっくりするためです (「'Ui::MainWindow' を含むクラスが見つかりませんでした ...」というメッセージが表示されます)。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <memory>
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
std::unique_ptr<Ui::MainWindow> ui;
};
#endif // MAINWINDOW_H
私は基本的に、Qt に「はい、本当にそのクラスを意味します。Ui::MainWindow* が含まれていないことはわかっています。大丈夫です。すべて問題ありません...」と伝える方法を探しています。私が間違っていて、何らかの理由でクラスが実際にこれを単純なポインターにする必要がある場合を除きます。