当前位置: 首页 > wzjs >正文

友点企业网站管理系统模板桂林北站离阳朔多远

友点企业网站管理系统模板,桂林北站离阳朔多远,专门做高端网站设计的云华设计,长沙模板建站欢迎咨询对工作台文本框进行控制。含以下内容。详细说明在源码中可查看 至最底部停止滚动开始滚动 源码分两部分. .h文件和.cpp文件 MyTextEdit.h #ifndef MYTEXTEDIT_H #define MYTEXTEDIT_H#include <QObject> #include <QTextEdit> #include <QScrollBar> #includ…

在这里插入图片描述

对工作台文本框进行控制。含以下内容。详细说明在源码中可查看

  • 至最底部
  • 停止滚动
  • 开始滚动

源码分两部分. .h文件和.cpp文件

MyTextEdit.h

#ifndef MYTEXTEDIT_H
#define MYTEXTEDIT_H#include <QObject>
#include <QTextEdit>
#include <QScrollBar>
#include <QDebug>
#include <QTimer>
#include <QWheelEvent>/*** @brief 文本显示框* @author linbin*/
class MyTextEdit: public QTextEdit
{Q_OBJECT
public:explicit MyTextEdit(QWidget *parent = nullptr);// 重写 append 方法void append(const QString &text) {// 获取垂直滚动条QScrollBar *scrollbar = this->verticalScrollBar();// 判断是否接近底部可以自滚动. 当前滚动条位置是否在底部50距离以内bool scrollbarAtBottom  = isScrollAtBottom() && scrollbarAtBottomFlag;// 当前滚动条位置int scrollbarPrevValue = scrollbar->value();// 将光标移动到文本末尾QTextCursor cursor = this->textCursor();cursor.movePosition(QTextCursor::End);this->setTextCursor(cursor);// 添加文本QTextEdit::append(text);QTimer::singleShot(0, this, [=]{// 停止滚动if (!startAutoScrollFlag) {// 此时光标不可见, 设置滚动条位置this->verticalScrollBar()->setValue(scrollbarPrevValue);return;}// 若在底部, 让光标可见及滚动if (scrollbarAtBottom) {this->ensureCursorVisible();} else {// 此时光标不可见, 设置滚动条位置this->verticalScrollBar()->setValue(scrollbarPrevValue);}});}/*** @brief 是否已到底部* @return*/bool isScrollAtBottom() {return (this->verticalScrollBar()->value() >= (this->verticalScrollBar()->maximum() - 50));}/*** @brief 至最底部, 文本向下自动滚动. 若设置了停止滚动, 则即使到了最底部也不会滚动*/void toEnd() {QTextCursor cursor = this->textCursor();cursor.movePosition(QTextCursor::End);this->setTextCursor(cursor);qDebug() << "this.startAutoScrollFlag:" << this->startAutoScrollFlag;// 在底部, 让光标可见及滚动if (this->startAutoScrollFlag) {this->ensureCursorVisible();}this->scrollbarAtBottomFlag = true;}/*** @brief 停止滚动, 则即使到了最底部也不会滚动, 无需操作操作滚动条即可停止滚动*/void toStopScroll() {this->startAutoScrollFlag = false;}/*** @brief 开始滚动, 正常运转, 到了底部会自动滚动, 向上查看会停止滚动*/void toStartScroll() {this->startAutoScrollFlag = true;}
private:/** 是否开始滚动 */bool startAutoScrollFlag = true;/** 是否已到底部 */bool scrollbarAtBottomFlag = true;};#endif // MYTEXTEDIT_H

.cpp部分

#include "mytextedit.h"MyTextEdit::MyTextEdit(QWidget *parent): QTextEdit(parent)
{// 设置行数最多150this->document()->setMaximumBlockCount(150);// 设置名称this->setObjectName(QString::fromUtf8("console"));// 监听滚动事件connect(this->verticalScrollBar(),  &QScrollBar::valueChanged, this, [=](int value) {if (!this->startAutoScrollFlag) {this->scrollbarAtBottomFlag = false;} else {this->startAutoScrollFlag = true;}});}
http://www.dtcms.com/wzjs/841900.html

相关文章:

  • 做打鱼网站网站知识
  • 有哪些网站是可以做宣传的传媒公司名字大全
  • 做网站上加入模块怎么加入如何建立自己的网站商城
  • 江阴网站优化psd to wordpress
  • 湖南高端网站制作公司重庆市建设执业资格注册管理中心网站
  • 东莞网站建设市场重庆招聘网官方网站
  • 如何提升网站流量南通网站建设系统电话
  • 教研网站建设方案wordpress分页链接
  • 网站开发硬件工程师待遇前端招聘网站
  • 做外贸仿牌都用哪些网站观澜网站建设公司
  • 烟台产品网站建设广告横幅在线制作
  • 卢镇seo网站优化排名wordpress主题制作软件
  • 江苏建设工程教育网长沙网站seo厂家
  • 网站选项卡代码专业做网站优化价格
  • 苏州建设网站制作我想学做网站
  • 网站板块设计有哪些wordpress博客设置
  • 站长推荐电子商务的发展现状与趋势
  • 做网站需要固定ip吗优化企业网站
  • 网站开发视频 百度云网站制作的目的
  • 建网站需要什么资料wordpress后台菜单
  • 腾讯云网站搭建什么学历可以进中建
  • 启闭机闸门的网站建设广州市住房保障和房屋管理局
  • 阿里云服务器如何上传网站手机程序编程
  • 电商购物网站网站建设的实施制作阶段包括
  • 外包网站建设哪家好中小企业网站制作费用
  • asp做学生信息网站合肥建设网站首页
  • 阳江网站建设 公司房产网站电商怎么做
  • 网站二级栏目如何调用网站怎么添加广告代码
  • 注册域名网站备案做网站英文
  • 怎么做微网站贵州省建设部网站