我的Qt学习四-纯代码实现text文本(窗口界面)

一、新建项目

定义函数create

二、创建菜单栏

(一)实现界面

1.定义变量

private:
//定义
    QMenuBar *textMenuBar;
    QMenu *fileMenu;
    QMenu *editMenu;
    QMenu *aboutMenu;

2.添加头文件
此处可以前置声明
在这里插入图片描述
在这里插入图片描述
3.创建菜单栏代码

textMainWindow::textMainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //创建菜单栏
    textMenuBar = this->menuBar();//得到当前的菜单栏
    fileMenu = new QMenu("文件(&F)");//在菜单栏里添加菜单file,&F-小伙伴
    textMenuBar->addMenu(fileMenu);//添加菜单

    editMenu = new QMenu("退出(&E)");//在菜单栏里添加菜单edit,&F-小伙伴
    textMenuBar->addMenu(editMenu);//添加菜单

    aboutMenu = new QMenu("关于(&A)");//在菜单栏里添加菜单file,&F-小伙伴
    textMenuBar->addMenu(aboutMenu);//添加菜单


    //创建工具栏
    //创建dock
    //创建中心部件
    //创建状态栏

}

(二)、添加动作

1.添加对象

//动作对象
    QAction *newAction;
    QAction *openAction;
    QAction *saveAction;
    QAction *saveasAction;//另存
    QAction *closeAction;

2.添加动作

//添加动作
    //文件菜单
    newAction = new QAction("新建(&N)");
    fileMenu->addAction(newAction);//file中添加
    openAction = new QAction("打开(&O)");
    fileMenu->addAction(openAction);//file中添加
    saveAction = new QAction("保存(&S)");
    fileMenu->addAction(saveAction);//file中添加
    saveasAction = new QAction("另存(&V)");
    fileMenu->addAction(saveasAction);//file中添加
    closeAction = new QAction("关闭(&C)");
    fileMenu->addAction(closeAction);//file中添加

    //编辑菜单
    copyAction = new QAction("关闭(&C)");
    editMenu->addAction(copyAction);//edit中添加

3.函数封装

void textMainWindow::createMenuBar()
{
    //创建菜单栏
    textMenuBar = this->menuBar();//得到当前的菜单栏

    fileMenu = new QMenu("文件(&F)");//在菜单栏里添加菜单file,&F-小伙伴
    textMenuBar->addMenu(fileMenu);//添加菜单

    editMenu = new QMenu("退出(&E)");//在菜单栏里添加菜单edit,&F-小伙伴
    textMenuBar->addMenu(editMenu);//添加菜单

    aboutMenu = new QMenu("关于(&A)");//在菜单栏里添加菜单file,&F-小伙伴
    textMenuBar->addMenu(aboutMenu);//添加菜单

    //添加动作
    //文件菜单
    newAction = new QAction("新建(&N)");
    openAction = new QAction("打开(&O)");
    saveAction = new QAction("保存(&S)");
    saveasAction = new QAction("另存(&V)");
    closeAction = new QAction("关闭(&C)");
    fileMenu->addAction(newAction);//file中添加
    fileMenu->addAction(openAction);//file中添加
    fileMenu->addAction(saveAction);//file中添加
    fileMenu->addAction(saveasAction);//file中添加
    fileMenu->addAction(closeAction);//file中添加

    //编辑菜单
    copyAction = new QAction("复制(&P)");
    editMenu->addAction(copyAction);//edit中添加
}

结果(第一行)
在这里插入图片描述

三、创建工具栏

定义:

	QToolBar *fileToolBar;
    QToolBar *editToolBar;

函数:
定义的toolbar对象中调用上文定义的动作

void textMainWindow::createToolBar()
{
    fileToolBar = new QToolBar("文件工具栏");
    this->addToolBar(fileToolBar);
    fileToolBar->addAction(newAction);

    editToolBar = this->addToolBar("编辑工具栏");
    editToolBar->addAction(copyAction);
}

四、界面优化:

添加图标文件(资源机制)
1.添加资源文件在这里插入图片描述
2.添加前缀和路径
在这里插入图片描述
3.使用:

openAction = new QAction(QIcon(":/new/prefix1/images/123.png"),"打开(&O)");

4.结果:
在这里插入图片描述

五、中心部件

1.添加新的ui界面(随意设计)作为中心部件
在这里插入图片描述
2.使用(函数)

void textMainWindow::createCentralWidget()
{
    Form *widget = new Form(this);
    this->setCentralWidget(widget);
}

3.结果
在这里插入图片描述

六、状态栏

1.直接调用函数showMessage()

void textMainWindow::createStatusBar()
{
    this->statusBar()->showMessage("这是fort的编辑器!!",4000);
}

七、头文件的调用
补代码如下:
textmainwindow.h

#include <QMainWindow>
#include "form.h"
class QMenuBar;//前置声明
class QMenu;
class QToolBar;
class QAction;
class QStatusBar;
class QWidget;

textmainwindow.cpp

#include "textmainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include<QToolBar>
#include <QWidget>
#include <QStatusBar>

以上代码关联没有实现,待二补充

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值