文本編輯器例圖

專案開發環境
系統版本:windows10
Q T 版本: 5.9.9
開發語言:C++
已實作功能
- 檔案操作:新建,打開,保存,另存為,列印,退出
- 編輯操作:復制,粘貼,剪切,查找,替換,撤銷,恢復
- 文字編輯:字體,字號,加粗,傾斜,顏色
- 個性化功能:背景色修改 (軟體默認背景色為護眼綠),背景圖修改
- 快捷鍵操作:大部分功能已匹配相關的快捷鍵操作
未完善功能
-
查找和替換操作,僅支持從當前游標位置向后查找
-
文字居中,對齊等功能尚未實作
-
無法將圖片插入文本進行操作
......
未解決BUG
-
打開操作BUG:從 檔案 — 右鍵打開方式 — 選擇本軟體 — 打開后不顯示檔案內容
-
個性化功能BUG:背景圖修改后,僅當前狀態有效,退出軟體重新打開后,背景圖失效
-
可能有其它未知BUG,尚未發現
......
部分原始碼展示
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QCloseEvent>
#include <QMainWindow>
#include <QImage>
#include <QLabel>
#include <QTextEdit>
#include <QMenu>
#include <QMenuBar>
#include <QAction>
#include <QComboBox>
#include <QFontComboBox>
#include <QToolButton>
#include <QTextCharFormat>
#include <QAction>
#include <QColorDialog>
#include <QColor>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void creatMenus(); //創建選單欄
void creatToolbars(); //創建工具列
void creatActions(); //創建動作
void ShowNewFile();
void ShowOpenFile();
void loadFile(QString & filename);
bool maybeSave();
bool saveFile(QString & filename);
bool saveAs();
void showPrintText();
void mergeFormat(QTextCharFormat format);
void ShowFontComBox(QString comboStr);
void ShowSizeSpinBox(QString spinValue);
void ShowBoldBtn();
void ShowItalicBtn();
void ShowUnderlineBtn();
void ShowColorBtn();
void ShowCurrentFormatChanged(const QTextCharFormat &fmt);
void ShowFind();
void ShowReplace();
void SetBackgroundColor(QColor color);
void SetBackgroundImage();
protected:
void closeEvent(QCloseEvent *event);
private:
QMenu * fileMenu; //選單欄各項
QMenu * editMenu;
QMenu * personaliseMenu;
QMenu * helpMenu;
QToolBar * filetoolbar; //檔案工具列
QToolBar * fontToolBar; //字體工具列
QImage img;
QString filePath;
QTextEdit * text;
bool isUntitled;
QAction * openFileAction; //檔案選單項
QAction * newFileAction;
QAction * saveFileAction;
QAction * saveasFileAction;
QAction * printFileAction;
QAction * exitAction;
QAction * copyAction; //編輯選單項
QAction * pasteAction;
QAction * cutAction;
QAction * undoAction;
QAction * restoreAction;
QAction * findAction;
QAction * replaceAction;
QAction * setBkColorAction;
QAction * setBkImageAction;
QAction * helpInformationAction; //幫助選單項
QAction * aboutSoftwareAction;
QAction * AboutAuthorAction;
QLabel * fontLabel1; //字體設定項
QFontComboBox * fontComboBox;
QLabel * fontLabel2;
QComboBox * sizeComboBox;
QToolButton * boldBtn;
QToolButton * italicBtn;
QToolButton * underlineBtn;
QToolButton * colorBtn;
};
#endif // MAINWINDOW_H
打包軟體下載
https://wws.lanzous.com/i5HeRfmkf6d
程式原始碼下載
https://wws.lanzous.com/iDwC2fmkf8f
最后
本人 QQ 2694218551,歡迎加我一起討論編程問題!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/168214.html
標籤:其他
