1.对于父窗口(主窗口),坐标系统相对于屏幕
原点:相对于屏幕左上角 x:往右递增 y:往下递增
2,前提条件:1)指定父对象后 2)直接或间接继承于QObject
子对象如果是动态分配空间的new,不需要手动释放delete ,系统会自动释放
3.MainWindow:
菜单栏、工具栏、状态栏、核心控件、浮动窗口
MainWindow::MainWindow(QWidget*parent)
: QMainWindow(parent)
{
QMenuBar *mbar=menuBar();//菜单栏
QMenu *pFile= mbar->addMenu("文件"); //添加菜单
QAction *pNew=pFile->addAction("新建"); //添加菜单项,添加动作
connect(pNew,&QAction::triggered,
[=]()
{
qDebug()<<"新建被按下";
}
);
pFile->addSeparator(); //添加分割线QAction *pOpen=pFile->addAction("打开");QToolBar *toolBar=addToolBar("toolBar"); //工具栏,菜单项的快捷方式toolBar->addAction(pNew);
QPushButton *b=new QPushButton(this);b->setText("^_^"); //添加小控件toolBar->addWidget(b);
connect(b,&QPushButton::clicked,[=]()
{
b->setText("123");}
);
QStatusBar *sBar=statusBar(); //状态栏QLabel *label=new QLabel(this);label->setText("Normal text file");sBar->addWidget(label); //从左往右添加
sBar->addPermanentWidget(new QLabel("3",this)); //从右往左添加QTextEdit *textEdit=new QTextEdit(this); //核心控件setCentralWidget(textEdit);
QDockWidget *dockwidget=new QDockWidget(this); //浮动窗口addDockWidget(Qt::RightDockWidgetArea,dockwidget);QTextEdit *textedit=new QTextEdit(this); //给浮动窗口添加控件dockwidget->setWidget(textedit);
}