Пользовательский интерфейс для дочернего окна в Qt

Я делал некоторые тесты с Qt 5, используя C ++, и я увидел большой потенциал! Но я подошел к большой стене, которую я еще не смог пройти.

Я хочу создать виджет, который содержит другие окна (MDI), и я следую некоторым учебникам в Интернете, но окно создается с помощью кода, и я не знаю, как «связать» его с файлом пользовательского интерфейса, который я уже проектировал ,

Я следую учебному пособию по MDI, которое поставляется с Qt Creator, оно отлично работает, но, как я уже говорил, не работает с пользовательскими интерфейсами. И я нашел это другой это именно то, что я хочу, я следую этому, и это не работает, я также скачал исходный код из примера, запустил его и все еще не работает. Он открывает окно, в котором ничего нет.

Если у кого-то есть пример, хороший учебник или книга с нужной информацией, я буду признателен.

Большое спасибо, что нашли время, чтобы прочитать это.

2

Решение

Вы должны разместить QMdiArea Виджет на вашем окне. Он предоставляет область, в которой отображаются окна MDI. Это можно сделать через дизайнера.

Все ваши подокна должны наследоваться QMdiSubWindow который предоставляет подоконный класс для QMdiArea :

class MyWindow : public QMdiSubWindow
{
Q_OBJECT

public:
explicit MyWindow(QWidget *parent = 0);
~MyWindow();
};

После создания собственного подокна вы можете добавить его в область MDI, например:

MyWindow * subWindow = new MyWindow(ui->mdiArea);
MyWindow->show();

Вы также можете добавить подокна в дизайнере, щелкнув правой кнопкой мыши на области MDI и выбрав:

«Добавить подокно»

Это добавит подокно, которое можно просмотреть в дизайнере. Таким же образом вы можете добавить произвольные виджеты в добавленные подокна в конструкторе.

-1

Другие решения


По вопросам рекламы [email protected]