Creator создает .h, .cpp, .ui, все как надо. На форму выношу одну кнопку.
cmdsheet.h
#ifndef CMDSHEET_H
#define CMDSHEET_H
#include <QWidget>
#include "ui_cmdsheet.h"
namespace Ui {
class CmdSheetWidget;
}
class CmdSheetWidget : public QWidget
{
Q_OBJECT
public:
CmdSheetWidget(QWidget *parent = 0);
~CmdSheetWidget();
private:
Ui::CmdSheet *uiCmdSheet;
};
#endif // CMDSHEET_H
cmdsheet.cpp
#include "cmdsheet.h"
CmdSheetWidget::CmdSheetWidget(QWidget *parent) :
QWidget(parent),
uiCmdSheet(new Ui::CmdSheet)
{
uiCmdSheet->setupUi(this);
pushButton->click(); // компилятор выдает ошибку
uiCmdSheet->pushButton->click(); // все нормально
}
CmdSheetWidget::~CmdSheetWidget()
{
delete uiCmdSheet;
}
Добавляю в описание класса наследоваине от Ui::CmdSheet, чтобы работать только со своим классом.
class CmdSheetWidget : public QWidget, public Ui::CmdSheet
Компилируется нормально, но при запуске(создании экземпляра этого класса) все вылетает.
Не могу понять, что я делаю не так, дефолтные gui-приложения креатор создает подобным образом и они нормально работают.
И вообще интересует вопрос автоматического создания структуры класса GUI в Qt, некоторые вещи до сих пор остаются для меня тайной.