⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logwindow.cpp

📁 压缩包里有教材<<C++模式设计-基于QT4开源跨平台开发框架>>所有源码
💻 CPP
字号:
#include "logwindow.h"#include "logger.h"#include <QScrollBar>#include <qstd.h>using namespace qstd;LogWindow::LogWindow( QString logname, QWidget* parent) :QTextEdit(parent), shouldScroll(10) {    setReadOnly(true);    if (logname != QString()) {        log(logname);    }    }void LogWindow::log(QString logname) {        Logger *l = Logger::getLogger(logname);    connect(l, SIGNAL(data(QString)), this, SLOT(append(QString)));    QScrollBar* vsb = verticalScrollBar () ;    setLineWrapMode(QTextEdit::NoWrap);    vsb->connect(vsb, SIGNAL(sliderMoved(int)), this, SLOT(checkScroll(int)));}void LogWindow::checkScroll(int newValue) {    QScrollBar *vsb = verticalScrollBar();    if (!vsb->isVisible()) return;    if (newValue == vsb->maximum()) {        shouldScroll = 10;        return;    }    --shouldScroll;}void LogWindow::append(QString str) {    QTextEdit::append(str);    if (shouldScroll > 0) {        QScrollBar* vsb = verticalScrollBar () ;        vsb->setValue(vsb-> maximum());        shouldScroll = 10;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -