logwidget 추가

git-svn-id: svn://192.168.0.12/source@301 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2016-10-20 04:14:57 +00:00
parent 199b9ca2b3
commit ffbaf3084f
16 changed files with 790 additions and 130 deletions

53
EffectUI/slogwidget.cpp Normal file
View File

@@ -0,0 +1,53 @@
#include "slogwidget.h"
#include <QCoreApplication>
#include <QString>
#include <QListWidget>
#include <QFile>
#include <QTextStream>
#include <QTime>
#include <QVBoxLayout>
SLogWidget::SLogWidget(QWidget *parent):QWidget(parent),
m_plwLog(new QListWidget(this)), m_pLayout(new QVBoxLayout(this))
{
m_pLayout->addWidget(m_plwLog);
setLayout(m_pLayout);
}
void SLogWidget::writeLog(const QString& _strLog)
{
QTime time = QTime::currentTime();
QString strOut = time.toString("[hh:mm:ss] ") + _strLog;
if(strOut.length() <= 1024)
m_plwLog->addItem(strOut);
else
m_plwLog->addItem(strOut.left(1024));
QDate date = QDate::currentDate();
QFile file(date.toString(Qt::ISODate)+ "_" + QString::number(QCoreApplication::applicationPid())+ ".log");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
return;
QTextStream out(&file);
out << strOut << "\n";
file.close();
if (m_plwLog->count() > 512)
{
m_plwLog->removeItemWidget(m_plwLog->item(0));
QListWidgetItem* item = m_plwLog->takeItem(0);
delete item;
}
m_plwLog->setCurrentRow( m_plwLog->count() - 1 );
m_plwLog->repaint();
}
void SLogWidget::slotWriteLog(const QString& _strLog)
{
writeLog(_strLog);
}