两个晚上搞了一个QT文本编辑器,效果比较简陋啊

25 篇文章 0 订阅

前言

日常开发一直是linux后台 + 控制系统软件开发,感觉每天的黑框甚是无聊啊,搞个界面开发吧,平时主要用C++,无他,只能QT了,上次使用还是读书时,已经忘得差不多了。好在看了一下QT的基本框架,感觉封装的非常好,因此做了一个简单的Demo测试。

本人晚上九点到家,昨天开发到11点多,今天又开发了一会。终于有个雏形了。

功能实现

完全参考win10 记事本的样子写的,照猫画虎;不知道怎么弄的就百度;

实现基本的功能如下:

  1. 文件,编辑,查找
  2. 保存,另存为,复制,粘贴,撤销
  3. 支持所有常用快捷键

待改善(实在太多了)

只是抱着用用的态度,学习了一下,否则搞了几年开发,一直黑框框,实在汗颜啊。

  1. 状态栏显示待完善
  2. 文档行号
  3. 颜色显示
  4. 智能保存
  5. 等等等等等

直接上效果图吧

在这里插入图片描述

接口实现

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QCloseEvent>
#include <QLineEdit>
#include <QDialog>
#include <QPushButton>
#include <QMouseEvent>

class QLineEdit;
class QDialog;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

protected:
    void closeEvent(QCloseEvent* event);
    void mousePressEvent(QMouseEvent* e);

private slots:
    void on_pushButton_CloseWindow_clicked();


    void on_actionNew_File_N_triggered();

    void on_actionSave_S_triggered();

    void on_actionSaveAs_A_triggered();

    void on_actionOpen_O_triggered();

    void on_actionClose_C_triggered();

    void on_actionExit_E_triggered();

    void on_actionCopy_C_triggered();

    void on_actionPast_V_triggered();

    void on_actionCut_X_triggered();

    void on_actionUndo_U_triggered();

    void showFindText();


    void on_actionFind_F_triggered();

public:
    void newFile();
    bool maybeSave();
    bool save();
    bool saveAs();
    bool saveFile(const QString &fileName);

    //tools
    bool loadFile(const QString &fileName);

private:
    void initialize();
    void addStatusBarInfo();


private:
    Ui::MainWindow *ui;

    bool isUntitled;
    QString curFileName;

    QLineEdit *findLineEdit;
    QDialog *findDlg;



};

#endif // MAINWINDOW_H


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值