36-文本编辑器中的功能交互

1. QPlainTextEdit中的信号

  • QPlainTextEdit 能够触发与编辑操作相关的信号

    void textChanged()  // 字符发生变化时触发
    void copyAvailable(bool)
    void cursorPositionChanged()
    void redoAvailable(bool)
    void undoAvailable(bool)
    
  • 判断是否存在未保存的数据

    1. 定义槽函数 void onTextChanged()
    2. 映射 textChanged() 到槽函数
    3. 定义成员变量 bool m_isTextChanged = false
    4. 文本框中的字符发生改变时:m_isTextChanged = true
    5. m_isTextChanged 为真,则保存未保存的数据
  • NotePad完善新建,打开文件时根据用户选择是否保存当前编辑区内容

2. 总结

  • 文本编辑器组件能够触发与编辑操作信号相关的信号
  • textChangeed() 信号能够用于检测数据变化
  • 文本编辑器项目中需要设置状态变量
  • 功能间的交互通过状态变量完成
发布了73 篇原创文章 · 获赞 31 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/105709000