首页IT科技qt qtl(Qt4小技巧——QTextEdit自动滚屏)

qt qtl(Qt4小技巧——QTextEdit自动滚屏)

时间2025-08-01 13:13:37分类IT科技浏览7858
导读:Qt4小技巧——QTextEdit自动滚屏...

Qt4小技巧——QTextEdit自动滚屏

原文链接:Qt4小技巧——QTextEdit自动滚屏

今天偶然需要QTextEdit显示出调试的log                ,仔细翻了下文档                         ,才发现没有设置自动滚屏的方法                。

总不能每次出来新的log        ,还要手动翻到最下面吧                ,于是干脆自己手写了一个                         ,可以利用 QTextCursor来定位内容的最后位置        ,当每次内容更新信号发送之后        ,移动即可                        。

简单的例子如下:

TextEdit.h

#ifndef TEXTEDIT_H

#define TEXTEDIT_H

#include <QTextEdit>

class QTimer;

class TextEdit : public QTextEdit

{

Q_OBJECT

public:

TextEdit(QWidget *parent = 0);

~TextEdit();

private:

QTimer *timer;

public slots:

void addText();

void autoScroll();

};

TextEdit.cpp

#include <QTextCursor>

#include <QTimer>

#include “TextEdit.h                ”

TextEdit::TextEdit(QWidget *parent)

: QTextEdit(parent)

{

timer = new QTimer(this);

connect(timer, SIGNAL(timeout()), this, SLOT(addText()));

connect(this, SIGNAL(textChanged()), this, SLOT(autoScroll()));

timer-&gt;start(1000);

}

TextEdit::~TextEdit()

{

}

void TextEdit::addText()

{

QString text = this-&gt;toPlainText();

text.append(“Test\n                         ”);

this-&gt;setText(text);

}

void TextEdit::autoScroll()

{

QTextCursor cursor = this-&gt;textCursor();

cursor.movePosition(QTextCursor::End);

this-&gt;setTextCursor(cursor);

}

main.cpp

#include <QtGui/QApplication>

#include “TextEdit.h        ”

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

TextEdit w;

w.show();

return a.exec();

}

声明:本站所有文章                         ,如无特殊说明或标注                ,均为本站原创发布         。任何个人或组织        ,在未征得本站同意时                         ,禁止复制                、盗用                        、采集         、发布本站内容到任何网站        、书籍等各类媒体平台        。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
web系统漏洞扫描工具有哪些(Web漏洞扫描器-Xray使用方法) 内链外链反向链接关系(内链外链是什么意思呀)