qt 滚动窗口,qt界面自动缩放

  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();

  }

qt 滚动窗口,qt界面自动缩放