首页 > 其他分享 >QT项目文本编辑器开发(2)

QT项目文本编辑器开发(2)

时间:2024-12-16 19:41:58浏览次数:3  
标签:文本编辑 myCurDocPath QT void MyChildWnd 开发 文档 QString bool

本章节接着上文,实现文本编辑器的新内容创建。

首先我们创建一个新的MyChildWnd 

按照以下内容添加我们的代码:


class MyChildWnd : public QTextEdit
{
    Q_OBJECT

public:
    MyChildWnd();
    QString myCurDocPath;
    void newDoc(); //创建新文档
    QString getCurDocName();
    bool loadDoc();
    bool saveDoc();
    bool savesDoc();
    bool saveDocOpt();

    void setAlignOfDocumentText(int aligntype);
    void setParaStyle(int pstyle);
protected:
    void closeEvent(QCloseEvent *event);
private:
    void DocBeModified();
private:
    bool beSaved;
    void setCurDoc(const QString &docName);
    void promptSave();
};

#endif // MYCHILDWND_H

创建文档

我们先来写我们的创建新文档内容


#include "mychildwnd.h"

MyChildWnd::MyChildWnd() {

    setAttribute(Qt::WA_DeleteOnClose);//子窗口关闭时销毁该对象实例
    beSaved = false;
}

void MyChildWnd::newDoc()
{
    //设置窗口编号
    static int wedSeqNum = 1;
    //设置当前文档word 命名为"Word 文档 编号"的形式,编号在使用后自动+1
    myCurDocPath = tr("Word 文档 %1").arg(wedSeqNum++);
    //设置窗口标题,文档被改动后在其名称后面显示"*";
    setWindowTitle(myCurDocPath+"[*]"+tr("-MyWord"));
    //文档被改动时发送contentsChanged信号,执行自定义docBeModified()槽函数
    connect(document(),&QTextDocument::contentsChanged,this,&MyChildWnd::DocBeModified);
}

QString MyChildWnd::getCurDocName()
{
    return QFileInfo(myCurDocPath).fileName();//返回文件路径
}

 

标签:文本编辑,myCurDocPath,QT,void,MyChildWnd,开发,文档,QString,bool
From: https://www.cnblogs.com/AnnaStore/p/18611018

相关文章

  • Qt之截图存为图片或PDF打印(七)
    Qt开发 系列文章-Screenshot-To-PicOrPDF(七)目录前言一、截图二、功能实现1.创建项目2.新建类3.编写类1.定义头文件2.相关功能函数3.使用类总结前言本文利用Qt平台,实现屏幕截图功能,并将截图复制、保存为图片、或打印到PDF中。一、截图要实现Qt的截图功能,主......
  • 安卓移动设备软件开发期末复习(1) 控件
    监听器监听器是事件监听机制的重要组成部分。在Java中每类事件都定义了一个相应的监听器接口,该接口定义了接收和处理事件的方法。实现该接口的类,其对象可作为监听器对象注册在事件源组件上。在图形用户界面中,需要响应用户操作的相关组件要注册一个或多个相应事件的监听器......
  • CosyVoice 2.0 支持双向流式语音合成;无问芯穹开源全模态理解端侧模型丨RTE 开发者日报
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • QT使用promoted后样式(setStyleSheet)不生效
    1.理解promoted(提升)在Qt中的概念在QtDesigner中,“提升(Promoted)”是一种机制,它允许你使用自定义的部件类来替代标准的Qt部件类。这在你已经创建了一个从标准Qt部件(如QListWidget)派生的自定义部件(如ListMenu)并且希望在设计器环境中使用它时非常有用。2.样式不生效的......
  • 什么是敏捷开发?
    敏捷开发的定义与理念定义:敏捷开发是一种迭代式、增量式的软件开发方法,强调在软件开发过程中快速响应变化,通过频繁的反馈和紧密的团队协作来持续交付有价值的软件。与传统的瀑布式开发方法不同,敏捷开发不是按照顺序依次完成需求分析、设计、编码、测试和维护等阶段,而是将整个......
  • JHipster - 现代开发人员的全栈开发平台!
    Jhipster概述定义与起源:Jhipster是一个用于快速开发、构建和部署现代化Web应用程序和微服务架构的开发平台。它起源于对高效开发企业级应用的需求,结合了多种流行的前端和后端技术,为开发者提供了一个全栈式的解决方案。技术栈集成:Jhipster集成了许多先进的技术,在后端它支持Jav......
  • HTML开发 - head 标签中 meta 标签功能解析
    什么是meta标签<meta>标签是HTML中用于定义网页的元数据(metadata)的元素,它并不会直接在浏览器中显示出来。<meta>标签通常位于<head>标签内,主要用来提供网页的一些信息或说明,这些信息有助于搜索引擎优化(SEO)、页面内容设置、字符编码等meta标签的常见用途1.定义字符......
  • Day33:安全开发-JavaEE应用&SQL预编译&Filter过滤器&Listener监听器&访问控制
    一,JavaEE-过滤器Filter1,过滤器的含义:Filter被称为过滤器,过滤器实际上就是对Web资源进行拦截,做一些处理后再交给下一个过滤器或Servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。开发人员利用filter技术,可以实现对所有Web资源的管理,例如实现......
  • 开发真有天赋这一说
    上学时看过大佬倒头一睡第二天起来考个全班第一,那时我便相信有些人天生适合学习。直到那天刚带完一位从来没接触过代码的客户,我才发现,真的也存在天生适合编程的人呐。他是一家知名公司的产品经理,要说不说,但凡能做到知名公司的产品经理,逻辑性思维一定厉害。以往的客户都是跟着......
  • HTML开发-HTML常见的基本元素解析
    作用HTML(超文本标记语言)是构建网页的基础,它使用各种元素来定义页面的结构和内容常见元素解析1.文档结构元素<!DOCTYPEhtml>:声明文档类型。它告诉浏览器这个文档使用的是HTML5标准<!DOCTYPEhtml><html>:文档的根元素。所有的HTML内容都应该放在<html>标签内<......