当你刚刚创建Qt应用程序时,它会自动为你创建主窗口,我理解除了最后一件事之外的所有东西:范围
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释什么样的指针是Ui::MainWindow *ui;什么以及它的目的是什么?据我所知它是一个空指针"for future"类型是MainWindow类,所以它意味着这个成员是它自己的类中的一个对象,我是否正确?
PS和创建该命名空间Ui需要什么?
这是指向自动生成的类的指针(基于Qt Designer创建的.ui文件或更准确地说是uic.exe).您需要它来访问您在表单中放置在设计器中的小部件(因为您不在代码中手动创建它们).
除此之外,没什么特别的.只是指向一些前向声明的类的指针(在你的情况下将在ui_MainWindow.h中定义).它有自己的命名空间,不与你的类冲突.