私のメインウィンドウ(QMenus、QLabels、QLayouts、中央ウィジェットなど)には、メインウィンドウのヘッダファイルで宣言する必要のないオブジェクトがいくつかあります。代わりに、メインウィンドウのコンストラクタでそれらを宣言しても問題ありません。QMainWindow:inヘッダファイルまたはコンストラクタの特定のQtオブジェクトをどこで宣言しますか?
例えば、前:
mainwindow.h mainwindow.cppで
private:
QMenu *fileMenu;
// etc.
で
MainWindow::MainWindow()
{
fileMenu = menuBar()->addMenu("File");
// etc.
}
対mainwindow.cppで
MainWindow::MainWindow()
{
QMenu *fileMenu = menuBar()->addMenu("File");
// etc.
}
スコープに問題がない場合(たとえば、mainwindowのコンストラクタでfileMenuを作成するとき以外にfileMenuにアクセスする必要はありません)、どこで宣言しても問題ありませんか?そのような状況のための「ベストプラクティス」はありますか?
私はQt/C++には比較的新しいので、これはQtの質問よりもC++の質問の方が多いかもしれません。
私はそれを念頭に置いておきます。ありがとう! – Anthony