Я предпочитаю иметь ui
в качестве частного члена в классе виджета.Я предполагаю, что в конструкторе вы назвали виджет как mywindow
(objectName
из свойств).
// MyWindow.h
#include <QWidget>
// Forward declaration of your ui widget
namespace Ui {
class mywindow;
}
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
~MyWidget();
private:
// private pointer to your ui
Ui::mywidget *ui;
};
А затем в вашем .cpp вы должны сделать следующее:
#include "mywindow.h"
//1. Include the auto generated h file from uic
#include "ui_mywindow.h"
#include <QPushButton>
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent),
//2. initialize the ui
ui(new Ui::mywindow)
{
//3. Setup the ui
ui->setupUi(this);
// your code follows
setFixedSize(200, 120);
QPushButton *btquit = new QPushButton(tr("Quit"), this);
btquit->setGeometry(62, 40, 75, 30);
btquit->setFont(QFont("Times", 18, QFont::Bold));
connect(btquit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
MyWidget::~Mywidget()
{
delete ui;
}