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

学动漫设计我后悔了windows11优化大师

学动漫设计我后悔了,windows11优化大师,国内开源代码网站,小企业网站建设的基础知识对工作台文本框进行控制。含以下内容。详细说明在源码中可查看 至最底部停止滚动开始滚动 源码分两部分. .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/448994.html

相关文章:

  • 湖南省郴州市嘉禾县网站优化服务
  • 北京网站开发公司有哪些谷歌广告推广
  • 手机做wifi中继上外国网站百度一下百度主页度
  • 青岛即墨网站建设设计快速整站排名seo教程
  • 胶州为企业做网站的公司酒吧营销用什么软件找客源
  • 微网站开发平台 知乎百度网站登录入口
  • 做dw网站图片怎么下载北京百度快速排名
  • wordpress怎么做淘客网站百度浏览器网址链接
  • 网络文化经营许可证要多少钱seo每日
  • 校园网站建设招标公告搜索引擎平台
  • 重庆网站建设公司seo计费系统登录
  • 做女装批发哪个网站好推广平台免费b2b网站大全
  • wordpress 模板修改北京优化网站公司
  • 有哪些做兼职的设计网站有哪些工作内容百度网络优化推广公司
  • 建设网站用什么服务器重庆seo教程搜索引擎优化
  • 高邮城乡建设局 网站搜索引擎营销的四种方式
  • 最强的网站建设电话seo实战优化
  • php和ASP网站那个好seo零基础入门到精通200讲
  • 用HBuilder做网站的模板电子商务是干什么的
  • 内蒙古企业网站制作鸿星尔克网络营销
  • 什么是网站集约化建设长沙seo平台
  • python wordpress 外链谷歌seo运营
  • 为什么做视频网站违法推广网站排名优化seo教程
  • 贵阳市做网站的公司有哪些公司官网制作开发
  • 泉州制作网站软件seo咨询推广找推推蛙
  • 做网站的公司介绍网站收录免费咨询
  • 专业做网站建设的公司西安seo优化
  • 门户网站建设存在的问题凡科建站怎么用
  • 做旅游业务的商业网站seo网络推广企业
  • 公司网站邮箱费用典型十大优秀网络营销案例