Files
gcs-nf/App/ToolsUI/tools_Index3/tools_Index3.cpp
T
2020-10-27 21:36:03 +08:00

121 lines
2.4 KiB
C++

#include "tools_Index3.h"
#include "ui_tools_Index3.h"
QPlainTextEdit *log_te;
QTextCursor cursor ;
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QString msgstr;
switch (type) {
case QtDebugMsg:
msgstr = QString::asprintf(">> Debug: %s \r\n", qPrintable(msg));
break;
case QtInfoMsg:
msgstr = QString::asprintf(">> Info: %s \r\n", qPrintable(msg));
break;
case QtWarningMsg:
msgstr = QString::asprintf(">> Warning: %s \r\n", qPrintable(msg));
break;
case QtCriticalMsg:
msgstr = QString::asprintf(">> Critical: %s \r\n", qPrintable(msg));
break;
case QtFatalMsg:
msgstr = QString::asprintf(">> Fatal: %s \r\n", qPrintable(msg));
break;
}
log_te->insertPlainText(msgstr);
//log_te->textCursor().movePosition(QTextCursor::End);
cursor = log_te->textCursor();
cursor.movePosition(QTextCursor::End);
log_te->setTextCursor(cursor);
}
Tools_Index3::Tools_Index3(QWidget *parent) :
QWidget(parent),
ui(new Ui::Tools_Index3)
{
ui->setupUi(this);
m_parent = parent;
//load qss
QFile file(":/qss/Setting.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
this->setStyleSheet(stylesheet);
file.close();
log_te = ui->plainTextEdit;
qInstallMessageHandler(myMessageOutput);
}
Tools_Index3::~Tools_Index3()
{
delete ui;
}
void Tools_Index3::resizeEvent(QResizeEvent *event)
{
Q_UNUSED(event)
update();
}
void Tools_Index3::closeEvent(QCloseEvent *event)
{
setFloat();
event->ignore();
}
void Tools_Index3::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = new QMenu(this);
QAction *pAction = new QAction("float",this);
connect(pAction,SIGNAL(triggered(bool)),
this,SLOT(setFloat()));
menu->addAction(pAction);
menu->move(cursor().pos());
menu->show();
}
void Tools_Index3::setFloat(void)
{
if(this->parent())
{
this->setParent(nullptr);
QScreen *screen=QGuiApplication::primaryScreen ();;
this->move((screen->availableGeometry().width()-this->width())/2,(screen->availableGeometry().height()-this->height())/2);
this->show();
}
else
{
this->setParent(m_parent);
this->move(0,0);
this->hide();
}
}