Создание формы на основе main.cpp в Qt Creator

192
15 декабря 2016, 16:02

Есть код в main.cpp, который описывает форму программы. Я создал форму

mainwindow.ui (Add new->Qt Designer Form->Main Window).

Мне необходимо на основе этого "импортировать" в форму описанные объекты.

QMainWindow mainWindow; // окно программы
Field field; // игровое поле
QMenuBar *menuBar; // меню
QLabel *label;
mainWindow.setCentralWidget(&field);
menuBar = mainWindow.menuBar();
QAction *newAct = new QAction(QObject::tr("&New game"), &mainWindow);
QObject::connect(newAct, SIGNAL(triggered()), &field, SLOT(on_gameReset()));
menuBar->addAction(newAct);
mainWindow.show();
Answer 1

Чаще всего используется опция "Designer Form Class", которая добавляет не только форму, но и класс виджета, в котором автоматически инициализируется эта форма. Если же хочется сделать форму без наследования от QMainWindow, это можно сделать так:

#include "ui_mainwindow.h"
int main(int argc, char *argv[]) {
  QApplication a(argc, argv);
  //MainWindow w;
  QMainWindow mainWindow;
  Ui::MainWindow mainWindowUi;
  mainWindowUi.setupUi(&mainWindow);
  mainWindow.show();
  return a.exec();
}
READ ALSO
Возврат значений из функции

Возврат значений из функции

Скажите, пожалуйста, есть ли какая-то видимая разница в работе 2-х функций?

168
Library not loaded

Library not loaded

Уважаемые форумчане!

234
Как скомпилить “Hello world” в С++ Qt в Linux?

Как скомпилить “Hello world” в С++ Qt в Linux?

Самый простой пример:

163
Строка в u32string. Как выполнить uppercase?

Строка в u32string. Как выполнить uppercase?

Использую строку u32stringКак выполнить преобразование uppercase, то есть маленькие символы преобразовать в большие?

231