Почему в проекте Qt по умолчанию используются отдельные заголовочные файлы для manwindow.cpp?

Я только что создал проект Qt по умолчанию с формой конструктора Qt.

Класс MainWindow объявлен в mainwindow.h, а затем включен в mainwindows.cpp.

Почему так сделано? Почему бы не объявить эту форму непосредственно в mainwindows.cpp?

class MainWindow
{
...
}

Как правильно добавить мой код? Например, кнопка, которая вызывает метод.

-1

Решение

В C ++ вы обычно помещаете определения классов в заголовочные файлы (.h), а реализации методов в исходные файлы (.cpp). Это позволяет клиентам класса использовать класс без необходимости видеть реализацию каждой функции. Это также означает, что при добавлении метода вам, как правило, нужно внести два изменения: добавить метод в определение класса (в заголовке), а затем добавить реализацию метода в файл .CPP.

В заголовочном файле:

class MainWindow
{
void SomeMethod();
};

В исходном файле:

void MainWindow::SomeMethod()
{
// Your code here.
}
2

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

Определение MainWindow класс нужен в другом файле, где его экземпляр создается в main функция, а затем показано. Вот почему класс должен быть определен в заголовочном файле.

Есть несколько способов добавить свой собственный код: для кнопки, которую вы описали, вы можете полностью создать ее в пользовательском интерфейсе QtCreator, или вы можете создать ее «программно» в MainWindow конструктор.

0