QT学习笔记(六):Qt5主窗口框架示例

QT学习笔记(五):Qt5主窗口框架代码示例

一、添加编辑菜单:并在下拉菜单和工具栏中添加“打开文件”动作菜单

#include <QToolButton>
#include <QSpinBox>
#include <QTextEdit>
#include <QMdiSubWindow>
#include <QLabel>
// 1.添加菜单:文件
QMenu *fileMenu = ui->menuBar->addMenu(tr("文件(&F)"));
// 2.添加动作:打开文件
QAction *action_new = fileMenu->addAction(QIcon(":/image/images/new.png"),tr("新建文件(&N)"));
// 3.为打开文件动作:设置快捷键:
action_new->setShortcut(QKeySequence("Ctrl+N"));
// 4.获取工具栏,在工具栏中添加:“新建文件”动作菜单
ui->mainToolBar->addAction(action_new);
// 同理
QMenu *editMenu = ui->menuBar->addMenu(tr("编辑(&E)"));
QAction *action_Open = editMenu->addAction(QIcon(":/image/images/open.png"),tr("打开文件(&O)"));
action_Open->setShortcut(QKeySequence("Ctrl+O"));
ui->mainToolBar->addAction(action_Open);

二、建立动作组:并添加包含3个动作菜单:左对齐、右对齐、居中

QActionGroup *group = new QActionGroup(this);				 // 0.建立动作组

QAction *action_L = group->addAction(tr("左对齐(&L)"));       // 1.向动作组中添加动作:左对齐
action_L->setCheckable(true);                                // 2.设置动作checkable属性为true
action_L->setChecked(true);        							 // 3.最后指定action_L为选中状态
QAction *action_R = group->addAction(tr("右对齐(&R)"));
action_R->setCheckable(true);
QAction *action_C = group->addAction(tr("居中(&C)"));
action_C->setCheckable(true);

editMenu->addSeparator();     	  // 4.向菜单中添加间隔器
editMenu->addAction(action_L);    // 5.向菜单中添加动作:左对齐
editMenu->addAction(action_R);    // 6.向菜单中添加动作:右对齐
editMenu->addAction(action_C);    // 7.向菜单中添加动作:居中

三、工具栏中添加其他窗口部件:按钮,微调框

QToolButton *toolBtn = new QToolButton(this);           // 1.创建QToolButton 类对象:toolBtn(工具栏按钮“颜色”)
ui->mainToolBar->addWidget(toolBtn);                    // 2.将toolBtn按钮添加到工具栏
toolBtn->setText(tr("颜色"));							// 3.设置toolBtn按钮名称

QMenu *colorMenu = new QMenu(this);                     // 4.创建一个菜单 (colorMenu)
colorMenu->addAction(tr("红色"));                       // 添加动作菜单:红色
colorMenu->addAction(tr("绿色"));                       // 添加动作菜单:绿色
toolBtn->setMenu(colorMenu);                            // 5.将菜单(colorMenu)添加进工具栏按钮(toolBtn“颜色”)中
toolBtn->setPopupMode(QToolButton::MenuButtonPopup);    // 设置菜单弹出模式

QSpinBox *spinBox = new QSpinBox(this);                 // 6.创建QSpinBox
ui->mainToolBar->addWidget(spinBox);                    // 7.向工具栏添加QSpinBox部件

四、生成状态栏

    //ui->statusBar->showMessage(tr("欢迎使用多文档编辑器"), 5000);     // 1.显示临时消息,显示2000毫秒即2秒
    QLabel *normal_label = new QLabel(this);                          // 2.创建标签(用于生成正常消息)
    normal_label->setFrameStyle(QFrame::Box | QFrame::Sunken);
    normal_label->setText("hahahaha");
   	ui->statusBar->addWidget(normal_label);              			  // 3.添加标签至状态栏(用于生成正常消息,可能被临时消息覆盖)
   	
    QLabel *permanent = new QLabel(this);                             // 4.创建标签(用于生成永久消息)
    permanent->setFrameStyle(QFrame::Box | QFrame::Sunken);           // 5.设置标签样式并显示信息,
    permanent->setText("www.qter.org");
    ui->statusBar->addPermanentWidget(permanent);                     // 6.然后将其以永久部件的形式添加到状态栏

多文档编辑器:新建一个文本编辑器部件

QTextEdit *edit = new QTextEdit(this);                       // 1.以文本编辑器为中心部件
QMdiSubWindow *child = ui->mdiArea->addSubWindow(edit);      // 2.使用QMdiArea::addSubWindow()函数创建子窗口
child->setWindowTitle(tr("多文档编辑器子窗口"));
child->show();
上一篇:C# Set集合


下一篇:运算符与if结构