写QT软件的小伙伴可能遇到过类似的需求,将软件运行过程中的产生的信息在界面上进行显示,且达到类似控制台输出信息的效果,即最新的消息出现在最下面一行,且可以看到之前一定数量的消息,且有滑轮可以拖动,cmd控制台中的一定数量设置的比较大,QT中可以自行设置,现在给大家分享一下QT中如何实现类似的效果。
!!!!Copy大法好啊,大家注意中间的注释哦,最后两行应该是设置在显示函数中的!!!
#include <QTextEdit>
void GetCmdEffect(QTextEdit *output){ //output即为ui界面上的TextEdit组件对象
output->document()->setMaximumBlockCount(150); //输出框中可存储的消息数,现在为存储150行消息数,
//可自行设置,设置了这一行即达到了最新消息在最后一行显示的效果
output->setFontFamily("楷体"); //为什么CMD中的显示看起来非常整齐呢?因为使用了等宽字体,
//等宽字体包括楷体、黑体等,根据自己的需要设置吧
output->insertPlainText("你要显示在界面上的内容!"); //这里可以将光标挪到消息的最后面,完整的实现了控制台聚焦在最新消息的效果
output->moveCursor(QTextCursor::End); //一般用在显示消息的函数中,且放在显示消息的语句后
}
这么点东西我当时还是搜了好一会儿……QT的界面编程真的很神奇,很多有意思的组件,有机会都可以试试!
最后,有帮助的话可以给我一丢丢赞赏嚯!(记得备注CSDN,我会更有动力更新文章嚯!)
|