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

广元专业高端网站建设最好玩的传奇网页游戏

广元专业高端网站建设,最好玩的传奇网页游戏,苏州seo优化,推广网站要注意什么因为在嵌入式中调试qt需要查看输出信息,特意写了一个类用户便捷查看qdebug信息 界面如下: 提供了开始,停止,保存,清空,退出功能,具体代码下文给出 文件如下 #ifndef QDEBUGREDIRECT_H #define QDEBUGREDIRECT_H /**qdebug 重定向类 定向到界面控件*李吉磊 2023.12.7* */#in…因为在嵌入式中调试qt需要查看输出信息,特意写了一个类用户便捷查看qdebug信息 界面如下: 提供了开始,停止,保存,清空,退出功能,具体代码下文给出 文件如下 #ifndef QDEBUGREDIRECT_H #define QDEBUGREDIRECT_H /**qdebug 重定向类 定向到界面控件*李吉磊 2023.12.7* */#include QHBoxLayout #include QVBoxLayout #include QPushButton #include QTextEdit #include QWidget #include QMutexclass qDebugRedirect : public QObject {Q_OBJECT public:qDebugRedirect();void showWidget(); //展示界面void closeWidget(); //关闭界面static void myMessageOutput(QtMsgType type, const QMessageLogContext context, const QString msg);private:void InitWidget();void StartRedirect(); //启动注册void StopRedirect(); //停止注册void Save2File(); //将界面文本内容保存到本地QWidget * m_widget; //界面QTextEdit * m_Edit;QMutex m_mutex; };#endif // QDEBUGREDIRECT_H#include qdebugredirect.h #include QGridLayout #include QDebug #include QDateTime #include QDir qDebugRedirect * g_qDebugRedirect;qDebugRedirect::qDebugRedirect() {m_widget nullptr;g_qDebugRedirect this;//下面两行为在构造该类时启动重定向,后续只要展示出界面即可查看信息InitWidget();StartRedirect(); }void qDebugRedirect::myMessageOutput(QtMsgType type, const QMessageLogContext context, const QString msg) {// 加锁g_qDebugRedirect-m_mutex.lock();//信息分类QString strMsg();QByteArray localMsg msg.toLocal8Bit();switch(type){case QtDebugMsg:strMsg QString(Debug:);break;case QtInfoMsg:strMsg QString(Info:);break;case QtWarningMsg:strMsg QString(Warning:);break;case QtCriticalMsg:strMsg QString(Critical:);break;case QtFatalMsg:strMsg QString(Fatal:);break;default:break;}//文件名、函数名、行数strMsg QString(Function: %1 File: %2 Line: %3 ).arg(context.function).arg(context.file).arg(context.line);// 时间和内容QString strDateTime QDateTime::currentDateTime().toString(hh:mm:ss);QString strMessage QString(%1 %2:%3).arg(strDateTime).arg(strMsg).arg(localMsg.constData());int maxLen 2*1024*1024;int len g_qDebugRedirect-m_Edit-toPlainText().length();if(len maxLen)g_qDebugRedirect-m_Edit-clear();g_qDebugRedirect-m_Edit-append(strMessage);g_qDebugRedirect-m_Edit-moveCursor(QTextCursor::End);// 解锁g_qDebugRedirect-m_mutex.unlock();}void qDebugRedirect::StartRedirect() {qInstallMessageHandler(myMessageOutput); }void qDebugRedirect::StopRedirect() {qInstallMessageHandler(nullptr); }void qDebugRedirect::InitWidget() {if(m_widget nullptr){m_widget new QWidget();QGridLayout * glay new QGridLayout();glay-setSpacing(0);glay-setMargin(0);glay-setContentsMargins(0,0,0,0);m_widget-setLayout(glay);QPushButton * pbClose new QPushButton(); //关闭界面按钮pbClose-setText(close);QObject::connect(pbClose,QPushButton::clicked,this,[](){closeWidget();//qDebug() close;});glay-addWidget(pbClose,0,8,1,1);QPushButton * pbBegin new QPushButton(); //开始按钮pbBegin-setText(start);QObject::connect(pbBegin,QPushButton::clicked,this,[](){StartRedirect();});glay-addWidget(pbBegin,1,0,1,2);QPushButton * pbEnd new QPushButton(); //结束按钮pbEnd-setText(stop);QObject::connect(pbEnd,QPushButton::clicked,this,[](){StopRedirect();});glay-addWidget(pbEnd,1,2,1,2);QPushButton * pSave new QPushButton(); //保存按钮pSave-setText(save);QObject::connect(pSave,QPushButton::clicked,this,[](){Save2File();});glay-addWidget(pSave,1,4,1,2);QPushButton * pClear new QPushButton(); //清理按钮pClear-setText(clear);QObject::connect(pClear,QPushButton::clicked,this,[](){m_Edit-clear();});glay-addWidget(pClear,1,8,1,1);//展示控件m_Edit new QTextEdit();glay-addWidget(m_Edit,2,0,6,9);//m_widget-setWindowFlag(Qt::WindowStaysOnTopHint,true);//m_widget-setWindowFlags(Qt::FramelessWindowHint);//m_widget-setWindowModality(Qt::ApplicationModal);m_widget-resize(800,600);} }void qDebugRedirect::showWidget() //展示界面 {InitWidget();m_widget-show(); }void qDebugRedirect::closeWidget() //关闭界面 {if(m_widget){m_widget-close();delete m_widget;m_widget nullptr;} }void qDebugRedirect::Save2File() {//创建log文件夹qDebug() currentPath : QDir::currentPath();QDir dir(log);if (!dir.exists()){QDir dir;bool b dir.mkdir(log);qDebug() dir.mkdir(\log\) b;}//创建log文件QString currentDate QDateTime::currentDateTime().toString(yyyyMMdd);QString logName log currentDate .txt;QString logFileName log/ logName;//写入文件QFile file(logFileName);if (!file.open(QIODevice::WriteOnly | QIODevice::Append)){qDebug() file.open : logFileName faild;file.close();return ;}qDebug() file.open : logFileName succeed;QTextStream stream(file);stream m_Edit-toPlainText() \r\n;;file.flush();file.close(); } 使用方法也很简单 先构造 qDebugRedirect * m_widget; m_widget new qDebugRedirect(); 然后展示界面或关闭界面 m_widget-showWidget();   展示界面 m_widget-closeWidget();  关闭界面 当然了界面自带close 按钮 或者 窗体的x 退出按钮均可退出
http://www.hkea.cn/news/14446149/

相关文章:

  • 苏州网络网站建设西安软件公司有哪些
  • 如何做二维码跳转到网站wordpress 分类页id
  • 毕业生对于网站建设感受手机网站你们
  • 优秀企业网站建设价格辽宁城市建设网站
  • 如何替换网站wordpress适合中国的小插件介绍
  • 网站购物车功能怎么做中国500强公司有哪些
  • 哪个公司制作企业网站域名网站模板
  • 做公司网站哪家好重庆九龙坡区dedecms迁移wordpress
  • cdr 做网站南京网站建设培训班
  • 查一下红之易道学做的什么网站个人做电商怎么入门
  • 公司制作网站多少钱营销网站的主题 定位 修改建议
  • 网站建设为什么这么贵wordpress teamtalk
  • 网站建设价格标准手机端自定义做链接网站
  • html5做宠物饲养网站郑州市有做网站的吗
  • 汽车网站排名查询沧州网站设计报价
  • 上线了网站网站百度收录怎么做
  • 广州做网站哪家公司好个人网站需要多少钱
  • 北京手机网站开发网站制作算什么费用
  • 制作一个链接网站软件开发培训机构费用
  • 会python做网站wordpress模版c2c商城
  • wikidot怎么建设网站手机app制作开发
  • 佛山公司建网站飞鱼crm下载
  • wordpress 整站带数据简述织梦网站上传步骤
  • 陕西荣天建设网站网站后缀ga
  • 网站建设实训小组报告网站开发的项目流程图
  • 建网站做外贸找考卷做要去哪个网站
  • 安宁网站建设 熊掌计算机应用技术网站开发与应用
  • 中国交通建设工程监督管理局网站网站去掉后缀html
  • 能建网站的appwordpress设计网页游戏
  • 智能模板建站佛山家具网站建设公司