1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #include "WindowAppLogView.h"
- #include "DebugManager.h"
- #include "Preferences.h"
- WindowAppLogView::WindowAppLogView(const QString& strTitle, QWidget* parent)
- : QWidget(parent)
- , m_strTitle(strTitle)
- {
- ui.setupUi(this);
- ui.textEdit->setStyleSheet("background-color:#464646;");
- //关联Debug信息,显示到文本框
- //注意,如果槽函数为lambda或者其他没有接收者的情况,需要保证槽函数中的变量有效性
- //因为static变量的生命周期更长,可能槽函数所在模块已经释放资源,最好connect加上接收者
- connect(DebugManager::getInstance(), &DebugManager::newDebug,
- this, [this](int msgType, const QString& log)
- {
- Q_UNUSED(msgType);
- ui.textEdit->append(log);
- ui.textEdit->moveCursor(QTextCursor::End);
- });
- //关联信号和槽
- QObject::connect(ui.logMode, SIGNAL(currentIndexChanged(int)), this, SLOT(ChangeShowMode(int)));
- ChangeShowMode(0);
- // 窗口禁止软键盘输入
- ui.textEdit->setProperty("noinput", true);
- }
- WindowAppLogView::~WindowAppLogView()
- {
- }
- void WindowAppLogView::ChangeShowMode(int index)
- {
- ui.textEdit->clear();
- for (int i = 0; i < DebugManager::getInstance()->m_AllDebugMsg.size(); i++)
- {
- DEBUGMSG msg = DebugManager::getInstance()->m_AllDebugMsg[i];
- if (msg.msgType == QtDebugMsg && index == 1)
- {
- ui.textEdit->append(msg.strMsg);
- ui.textEdit->moveCursor(QTextCursor::End);
- }
- if (msg.msgType == QtInfoMsg && index == 2)
- {
- ui.textEdit->append(msg.strMsg);
- ui.textEdit->moveCursor(QTextCursor::End);
- }
- if (msg.msgType == QtWarningMsg && index == 3)
- {
- ui.textEdit->append(msg.strMsg);
- ui.textEdit->moveCursor(QTextCursor::End);
- }
- if (msg.msgType == QtCriticalMsg && index == 4)
- {
- ui.textEdit->append(msg.strMsg);
- ui.textEdit->moveCursor(QTextCursor::End);
- }
- if (msg.msgType == QtFatalMsg && index == 5)
- {
- ui.textEdit->append(msg.strMsg);
- ui.textEdit->moveCursor(QTextCursor::End);
- }
- if (index == 0)
- {
- ui.textEdit->append(msg.strMsg);
- ui.textEdit->moveCursor(QTextCursor::End);
- }
- }
- }
- /// <summary>
- /// 调整大小的消息中改变表格栏的宽度
- /// </summary>
- /// <param name="event"></param>
- void WindowAppLogView::resizeEvent(QResizeEvent* event)
- {
- Q_UNUSED(event);
- //ui.textEdit->resize(this->frameGeometry().size());
- ui.textEdit->resize(this->frameGeometry().size());
- }
|