ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-08-16 14:01:20  阅读:346  来源: 互联网

标签:addAction Qt5 QT 示例 tr 添加 action new 菜单


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();

标签:addAction,Qt5,QT,示例,tr,添加,action,new,菜单
来源: https://blog.csdn.net/Vichael_Chan/article/details/99676273

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有