QWidget与QFrame
- QWidget所有图形控件的基类
- QFrame与QWidget的区别QFrame是基本控件的基类, QWidget是QFrame的基类. 因此QFrame支持的方法更多一些.
QMenu与QMenuBar
#include <QMenuBar>//菜单栏
#include <QMenu>//菜单
#include <QAction>//动作
//添加菜单栏
QMenuBar *mBar = menuBar();
//添加菜单
QMenu *pFile = mBar->addMenu("文件");
//添加菜单项, 添加动作
QAction *pNew = pFile->addAction("新建");
//连接到对应槽函数
connect(pNew, &QAction::triggered, [](){});
//添加分割线
pFile->addSeparator();
//创建一个菜单文本为“保存(&S)”并且Ctrl+S为键盘快捷键的“文件保存”操作。
fileSaveAction = new QAction( "Save File", QPixmap( filesave),"&Save", CTRL+Key_S, this, "save" );
//连接到对应槽函数
connect( fileSaveAction, SIGNAL( activated() ) , this, SLOT( save() ) );
QToolBar
#include <QToolBar>
#include <QPushButton>
//添加工具栏
QToolBar *toolBar = addToolBar("toolBar");
//把上面菜单栏定义的指针直接拿过来就添加到工具栏了.
toolBar->addAction(pNew);
//定义其他文字或图片工具栏按钮
QPushButton *b = new QPushButton(this);
b->setText("^_^");
//按下工具栏按钮, 笑脸变成123
connect(b, &QPushButton::clicked, [](){b->setText("123");});
QStatusBar
#include <QStatusBar>
#include <QLabel>//显示控件
QStatusBar *sBar = statusBar();
QLabel *label = new QLabel(this);//新建标签
label -> setText("hello");//设置标签显示内容
sBar -> addWidget(label);//将标签添加至状态栏
核心控件(工作区控件)
//将QTextEdit设置为核心控件
this->setCentralWidget(new QTextEdit);
QDockWidget
#include <QDockWidget>
//创建浮动窗口
QDockWidget *dock = new QDockWidget(this);
//将浮动窗口显示在窗口右边
addDockWidget(Qt::RightDockWidgetArea, dock);
//创建一个编辑框
QTextEdit *textEdit = new QTextEdit(this);
//将编辑框放到浮动窗口里
dock->setWidget(textEdit);
QDialog
- 对话框如果申请了堆区内存, 关闭时是不进行释放的, 只有程序结束才释放. 可通过以下属性设置对话框关闭时即释放内存
QDialog *p = new QDialog;
p->setAttribute(Qt::WA_DeleteOnClose);
QMessageBox
#include <QMessageBox>
//参数:指定父窗口, 标题, 内容
QMessageBox::about(this, "about", "关于qt");
//参数:指定父窗口, 标题, 问题, 返回选择结果
int ret = QMessageBox::question(this, "question", "是否关闭?");
switch(ret)
{