qt 滚动窗口,qt界面自动缩放
CuteQt博客博客存档Qt4小技巧——QTextEdit自动滚屏
Qt4小技巧——QTextEdit自动滚屏
本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容,并不得用于商业用途。谢谢合作。
原文链接:Qt4小技巧——QTextEdit自动滚屏
今天偶然需要多行文本框显示出调试的日志,仔细翻了下文档,才发现没有设置自动滚屏的方法。
总不能每次出来新的日志,还要手动翻到最下面吧,于是干脆自己手写了一个,可以利用QTextCursor来定位内容的最后位置,当每次内容更新信号发送之后,移动即可。
简单的例子如下:
TextEdit.h
#ifndef TEXTEDIT_H
#定义文本编辑_H
#包含多行文本框
类定时器
类文本编辑:公共QTextEdit
{
q _对象
公共:
TextEdit(q widget * parent=0);
~ TextEdit();
私人:
QTimer *定时器;
公共插槽:
void addText();
void autoScroll();
};
文本编辑。卡片打印处理机(Card Print Processor的缩写)
#包含QTextCursor
#包含定时器
#包含" TextEdit.h "
文本编辑:文本编辑(q widget * parent)
:QTextEdit(父级)
{
timer=新的QTimer(这个);
connect(timer,SIGNAL(timeout()),this,SLOT(add text());
connect(this,SIGNAL(textChanged()),this,SLOT(auto scroll());
计时器启动(1000);
}
文本编辑:~文本编辑()
{
}
void TextEdit:addText()
{
QString text=this-toPlainText();
文字。append(" Test n ");
this- setText(文本);
}
void TextEdit:autoScroll()
{
QTextCursor cursor=this-text cursor();
光标。移动位置(QTextCursor:End);
this- setTextCursor(光标);
}
主页面
#包含Qt GUI/QA应用程序
#包含" TextEdit.h "
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
文本编辑w;
w。show();
返回a . exec();
}