链接: https://pan.baidu.com/s/1Mapp9ascmqNObcDUCVnPA 提取码: hxmt
一、需求分析
基础功能:
- 输入文字并显示
- 复制粘贴(一般系统都支持)
- 保存到本地(存档功能, 下次还能打开)
- 可以打开外部txt文件
- 可调节字体大小&颜色
- 可打印当前本地时间
二、界面布局
此次记事本的界面设计并没有使用QT Designer,界面的设计布局完全由代码编写,想要简单了解纯代码设计界面的读者,或许可以给你一些启发

三、实现代码
代码注释的很详细,品尝起来很美味
Notepad.h
#pragma once
#include <QMainWindow>
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QPlainTextEdit>
#include <QClipboard>
#include <QFileDialog>
#include <QFile>
#include <QFontDialog>
#include <QKeySequence>
#include <QtWidgets>
#include <QtCore>
class Notepad : public QMainWindow
{
Q_OBJECT
public:
Notepad(QWidget *parent = Q_NULLPTR);
~Notepad();
private slots:
void OpenFile(); //打开文件
void SaveFile(); //保存文件
void SetFont(); //设置字体
void SetColor(); //设置颜色
void OpenTime(); //时间日期
private:
QTextCodec* codec; //处理中文
QMenuBar* mainMenu; //主菜单
QMenu* fileMenu; //文件菜单
QAction* openAction; //打开文件
QAction* saveAction; //保存文件
QMenu* editMenu; //编辑菜单
QAction* copyAciton; //复制
QAction* pasteAction; //粘贴
QMenu* formatMenu; //格式菜单
QAction* fontAciton; //字体
QAction* colorAction; //颜色
QMenu* helpMenu; //帮助菜单
QAction* timeAction; //日期和时间
QTextEdit* textEdit; //编辑窗口
QClipboard* clipboard; //剪贴板
};
Notepad.cpp
#include "Notepad.h"
Notepad::Notepad(QWidget *parent)
: QMainWindow(parent)
{
codec = QTextCodec::codecForName("gbk");
//设置窗口大小及起始位置
this->setGeometry(200, 200, 800, 500);
//设置窗口名称
this

最低0.47元/天 解锁文章
488

被折叠的 条评论
为什么被折叠?



