QT编程过程中遇到的问题

  • ​​(一)QT卡死​​
  • ​​(二)mingw转msvc编码问题​​
  • ​​(三)内存泄漏问题​​
  • ​​1. vld检查内存泄漏问题​​
  • ​​2. QTextEdit造成内存泄漏​​
  • ​​(end)后面会更新​​

(一)QT卡死

1.有可能是安装了有道翻译,卸载有道翻译

(二)mingw转msvc编码问题

1.在pro文件中加入

msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}

(三)内存泄漏问题

1. vld检查内存泄漏问题

是在msvc编译器中的debug模式下

2. QTextEdit造成内存泄漏

QTextEdit中内容叠加会造成内存泄漏

for (int i=0;i<10000;i++) {
ui->textEdit->append("0123456789");
}

如果不对textEdit行数进行控制任由其增长,那么内存也会疯狂增长

改进方法:最大行数设置

//1
ui->textEdit->document()->setMaximumBlockCount(10);//设置10行,超过10行自动清除

//2 通过设置一个int类型变量。记录增加的行数,当达到一定的值,就执行clear()

(end)后面会更新