分享

mainwindow.cpp

 星光闪亮图书馆 2020-04-23

#include "mainwindow.h"

//构造函数

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent)

{

//01设置主窗口

resize(1000,600);

setWindowTitle("我的主窗口");

//02主窗口的主控件

QTextEdit *textedit1=new QTextEdit(this);

setCentralWidget(textedit1);

//03菜单栏

QMenuBar *menubar=menuBar();

setMenuBar(menubar);

QMenu *pfile = menubar->addMenu("文件");

QMenu *pdialog=menubar->addMenu("对话框");

QMenu *pgn=menubar->addMenu("功能");

QMenu *phelp=menubar->addMenu("帮助");

QAction *pnew=pfile->addAction("新建");

pfile->addSeparator();

QAction *popen=pfile->addAction("打开");

QAction *pmtdialog=pdialog->addAction("模态对话框");

pdialog->addSeparator();

QAction *pfmtdialog1=pdialog->addAction("非模态对话框(方式1)");

QAction *pfmtdialog2=pdialog->addAction("非模态对话框(方式2)");

QAction *pjjfa=pgn->addAction("解决方案");

QAction *pdagang=pgn->addAction("大纲");

QAction *pshuoming=phelp->addAction("说明");

QAction *pabout=phelp->addAction("关于");

//04工具栏

QToolBar *toolbar=addToolBar("工具栏");

toolbar->addAction(pnew);

toolbar->addAction(popen);

toolbar->addAction(pmtdialog);

toolbar->addAction(pfmtdialog1);

toolbar->addAction(pfmtdialog2);

//05状态栏

QStatusBar *statusbar = statusBar();

QLabel *plabel1=new QLabel("欢迎使用",this);

QLabel *plabel2=new QLabel("状态栏",this);

statusbar->addWidget(plabel1);

statusbar->addPermanentWidget(plabel2);

//06锚接部件两个

QDockWidget *dock1=new QDockWidget(this);

dock1->setWindowTitle("解决方案");

addDockWidget(Qt::LeftDockWidgetArea,dock1);

QTextEdit *textedit2=new QTextEdit(this);

dock1->setWidget(textedit2);

QDockWidget *dock2=new QDockWidget(this);

dock2->setWindowTitle("大纲");

addDockWidget(Qt::LeftDockWidgetArea,dock2);

QTextEdit *textedit3=new QTextEdit(this);

dock2->setWidget(textedit3);

//07信号与槽函数的绑定(Lambda表达式)

connect(pnew ,&QAction::triggered,

[=]()

{

QMessageBox::information(this,"说明","功能建设中");

}

);

connect(popen,&QAction::triggered,

[=]()

{

QFileDialog *pfiledialog=new QFileDialog(this,"打开文件","../",

"Souce(*.cpp *.h *.c);;Text(*.txt);;All(*.*)");

pfiledialog->exec();

}

);

connect(pmtdialog,&QAction::triggered,

[=]()

{

QDialog dlg;

dlg.setWindowTitle("模态对话框");

dlg.exec();

});

connect(pfmtdialog1,&QAction::triggered,

[=]()

{

fmtdlg.setWindowTitle("非模态对话框(实现方式1)");

fmtdlg.show();

});

connect(pfmtdialog2,&QAction::triggered,

[=]()

{

QDialog *pfmtdlg2=new QDialog(this);

pfmtdlg2->setWindowTitle("非模态对话框(实现方式2)");

pfmtdlg2->resize(600,350);

pfmtdlg2->setAttribute(Qt::WA_DeleteOnClose);

pfmtdlg2->show();

});

connect(pjjfa,&QAction::triggered,

[=]()

{

dock1->show();

}

);

connect(pdagang,&QAction::triggered,

[=]()

{

dock2->show();

}

);

connect(pshuoming,&QAction::triggered,

[=]()

{

QMessageBox::information(this,"说明","本程序为QT练习程序");

}

);

connect(pabout,&QAction::triggered,

[=]()

{

QMessageBox::about(this,"关于","关于QT");

}

);

}

//析构函数

MainWindow::~MainWindow()

{

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多