请教:如何实现QTextEdit的分页显示

发布于 2022-09-01 21:35:24 字数 2593 浏览 15 评论 0

整个Qt框架里边就两个内容不会的:这个不会,那个也不会!
不扯淡,直接贴代码~

眼下是一个简单的文件读取功能模块,通过QTextEdit控件来读取当前目录下的一个usr_munual.txt文件()来呈现给用户,由于文件内容过长,不能够在一个页面中显示,QTextEdit控件直接给产生了一个滚动条,而我想要的效果是QTextEdit的分页显示,即通过按键处理(未写)来通知控件翻页载入,而不显示该滚动条。。。请教各位大牛。。。该怎么实现。。。

  1. #include <QFile>
  2. #include <QTextStream>
  3. #include <QTextCursor>
  4. #include <QString>
  5. #include <QDebug>
  6. #include "ui_usermanualwidget.h"
  7. #include "ui_ui_usermanualwidget.h"
  8. Ui_UserManualWidget::Ui_UserManualWidget(QWidget *parent) :
  9.   QWidget(parent),
  10.   ui(new Ui::Ui_UserManualWidget)
  11. {
  12.   ui->setupUi(this);
  13.   setWindowTitle("用户手册");
  14.   setFixedSize(240,320);   
  15.   setWindowFlags(Qt::WindowSystemMenuHint);   
  16.   int current_page = 1;
  17.   ui->manual_textEdit->setReadOnly(true);
  18.   ui->manual_textEdit->setFixedWidth(240);
  19.   ui->manual_textEdit->setFixedHeight(320);
  20.   openUserMunualFile();
  21. }
  22. /*打开文件并且读取,然后用QTextEdit显示*/
  23. void Ui_UserManualWidget::openUserMunualFile()
  24. {
  25.   QFile file("/root/.../usr_manual.txt"); //省略部分路径
  26.   QString line;
  27.   QTextStream in(&file);
  28.   if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
  29.   qDebug()<<"Open file failure : usr_munual"<<file.fileName();
  30.   }
  31.   qDebug()<<"Open file succussfule ....."<<file.fileName();
  32.   unsigned static int n = 0;
  33.   while(!in.atEnd()){
  34.   line = in.readLine();
  35.   ui->manual_textEdit->append(line);
  36.   qDebug()<<"Screen : "<<n++; //只是为了记录一下读了多少行,呵呵
  37.   }
  38.   /*把光标移动到文件的起始处*/
  39.   QTextCursor textCursor = ui->manual_textEdit->textCursor();
  40.   textCursor.movePosition( QTextCursor::Start);
  41.   ui->manual_textEdit->setTextCursor(textCursor);
  42. }
  43. /*析构函数*/
  44. Ui_UserManualWidget::~Ui_UserManualWidget()
  45. {
  46.   delete ui;
  47. }

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文