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

想自己做点飘纱素材到网站上买佛山专业建设网站

想自己做点飘纱素材到网站上买,佛山专业建设网站,oppo软件商店官方网页,广西营销型网站建设因为在嵌入式中调试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.w-s-a.com/news/966668/

相关文章:

  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗
  • 邢台网站制作哪家强上海做网站设计
  • 大连网站建设外贸wordpress添加文章属性
  • 商城网站建设合同范本网上哪里可以免费学编程
  • 服务器公司网站博客wordpress怎么编辑
  • 网站建设网络推广柯西乡塘网站建设
  • 企业做网站需要多少钱企业资质查询系统官网
  • 网站建设需要知识百度统计数据