昨天在家闲的无聊,折腾了一下qt,发现qt的信号与槽机制真的蛮好,简单好用,省了很多事情,于是用qt模仿windows 记事本实现了一个精简版的记事本,感觉效果还不错。

1. 功能点列表

写代码之前之前首先明确需要要实现的功能,我打算实现的功能点如下:

  • 1. 页面布局
    • 1. 标题栏显示打开的文件名称(包括路径),如果没有打开任何文件,或者新建文件还没有保存,显示“无标题”
    • 2. 工具栏包含三个选项,文件,编辑和帮助,文件菜单包含5个选项:新建、打开、保存、另存为、关闭;编辑菜单包含查找、替换、字体;帮助菜单包含两个选项,关于和快捷键列表
    • 3. 主窗口为文本框,可显示或编辑打开的文件
    • 4. 状态栏显示文件大小
  • 2. 新建文件,点击[文件]->[新建],或按ctrl-N,清空文本框,标题栏显示“无标题”
  • 3. 打开文件,点击【文件】->【打开】,或者按ctrl-O,弹出打开文件对话框,选择文件,如果选择的文件不是文本文件,弹出警告对话框,显示“文件不能打开”。如果是文本文件,在文本框中显示文件内容,设置标题栏标题为文件名(包含路径),状态栏显示文件大小(根据文件大小,选择合适的显示单位)
  • 4. 保存文件,点击【文件】->【保存】,或者按ctrl-S,如果是新建的文件,则弹出另存为对话框,如果是已存在的文件,则保存。
  • 5. 另存为,点击【文件】->【另存为】,弹出另存为对话框,默认文件名为“res.txt”,保存类型显示“文本文档(*.txt)”,点击确定后,保存文件。
  • 6. 查找,点击【编辑】->【查找】,弹出查找对话框,查找对话框布局如图所示
  • 7. 替换,点击【编辑】->【替换】,弹出替换对话框,替换对话框布局参考查找对话框布局,暂未实现。
  • 8. 字体,点击【编辑】->【字体】,弹出字体对话框,设置文本对话框的字体字号
  • 9. 关于,点击【帮助】->【关于】,弹出Message对话框,显示作者和时间。布局如图

PS:二丽是我女朋友,感谢她在页面布局上给我提的建议,让页面看起来美观了很多。

  1. 快捷键列表,点击【帮助】->【快捷键】,显示支持的快捷键

基本的功能点就这么多,以后有需求可以继续添加。

2.实现后的效果

3. 源码下载

https://github.com/zkangHUST/NoteBook