Показать форму в Qt - PullRequest
       0

Показать форму в Qt

2 голосов
/ 14 декабря 2010

Это должно быть очень легко.
Я использую Qt Creator , и я сделал Qt Gui Application (у которого было main.h, main.ui и main.cpp)

Я только что создал Qt Designer Form Class, который также имеет заголовочный файл, пользовательский интерфейс и класс. Я сделал действие внутри моего main.cpp под названием ShowSecondForm :

void Main::ShowSecondForm()
{

}

Каждый раз, когда я выполняю ShowSecondForm();, я хочу, чтобы отображалась вторая форма.
Что я положу внутрь, чтобы моя форма открылась?
Кроме того, возможно ли передать строку в форму при ее открытии? Нравится ShowSecondForm(const QString&)?

Некоторые заметки, которые могут вам помочь:

  • Я бы хотел, чтобы 2 формы открывались одновременно.
  • Это также будет класс, поскольку он будет вычислять разные вещи.

Ответы [ 2 ]

2 голосов
/ 14 декабря 2010

Если вы открываете одну форму из другой, вы можете сделать что-то вроде этого:

m_form = new MyForm (this);
m_form->show();

Здесь вы сначала создаете объект формы, а затем показываете его.Примечание this передается как родительский - когда родительская форма уничтожена, дочерние элементы будут закрыты и уничтожены автоматически.Это также означает, что вам не нужно заниматься очисткой в ​​деструкторе.Если вам нужно открыть несколько форм, вам понадобится объект для каждой из них.

m_form1 = new MyForm (this);
m_form1->show();
m_form2 = new MyForm (this);
m_form2->show();

Наконец, есть много способов передать строку в форму.Это ваша форма, поэтому вы можете захотеть изменить ее конструктор, чтобы она принимала строку при создании, например m_form = new MyForm ("Some string", this); Или вы можете добавить свойство к вашей форме.Иногда вам также может понадобиться встроенная система свойств QObject, взгляните на функции QObject :: setProperty () и QObject :: property () .

0 голосов
/ 14 декабря 2010

Я подозреваю, этот урок может быть полезен.Предположительно у вас есть main.ui, main.h и main.cpp.

Запустите программу uic над файлом main.ui, чтобы сгенерировать заголовок ui_main.h (если вы не используете qmake), но в противном случае базовая настройка находится в этом руководстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...