gpt4 book ai didi

c++ - 具有固定输入行数的 Qt 文本编辑

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:51 25 4
gpt4 key购买 nike

我的 Gui 中有一个 Qt“文本编辑”小部件,这个小部件用于记录一些东西。我以这种方式添加每一行:

QString str;
str = ...
widget.textEdit_console->append(str);

通过这种方式,文本编辑高度将在每一个新行之后增加越来越多。在这种情况下,我希望它像终端一样工作,我的意思是在输入一些(我设置的)行后,对于每一行,文本编辑的第一行被删除以防止它太大!我应该在输入的每一行新行中使用一个计数器,并在计数器到达顶部后删除第一行,还是有更好的方法在之后自动执行此操作

widget.textEdit_console->append(str);

叫了?

最佳答案

感谢cmannett85听取您的建议,但出于某种原因我更喜欢“文本编辑”,我这样解决了我的问题:

void mainWindow::appendLog(const QString &str)
{
LogLines++;
if (LogLines > maxLogLines)
{
QTextCursor tc = widget.textEdit_console->textCursor();
tc.movePosition(QTextCursor::Start);
tc.select(QTextCursor::LineUnderCursor);
tc.removeSelectedText(); // this remove whole first line but not that '\n'
tc.deleteChar(); // this way the first line will completely being removed
LogLines--;
}
widget.textEdit_console->append(str);
}

我仍然不知道在使用“文本编辑”时是否有更好更优化的方式

关于c++ - 具有固定输入行数的 Qt 文本编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15997418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com