2012-02-22 36 views
0

有在我的主窗口中幾個對象(QMenus,QLabels,QLayouts,中央部件,等等),我意識到並不需要在主窗口的頭文件中聲明。相反,可以在主窗口的構造函數中聲明它們。在哪裏聲明QMainWindow的某些Qt對象:在頭文件或構造函數中?

例如,前:

在mainwindow.h

private: 
    QMenu *fileMenu; 
    // etc. 

在mainwindow.cpp

MainWindow::MainWindow() 
{ 
    fileMenu = menuBar()->addMenu("File"); 
    // etc. 
} 

在mainwindow.cpp

MainWindow::MainWindow() 
{ 
    QMenu *fileMenu = menuBar()->addMenu("File"); 
    // etc. 
} 

如果範圍是不是一個問題(例如,我不需要訪問fileMenu任何地方比我在主窗口的構造函數創建等),它的問題在哪裏申報呢?這種情況有沒有「最佳做法」?

我是比較新的QT/C++,我意識到這可能是一個多Qt的問題一個C++問題。

回答

2

它是用最小的範圍可能每次聲明變量共同規則。

所以,你最好不要讓他們的類成員(在頭文件中未聲明它們)。

+0

我會記住這一點。謝謝! – Anthony 2012-02-22 18:13:44

相關問題