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

百色高端网站建设Wordpress防止图片盗链

百色高端网站建设,Wordpress防止图片盗链,如何建设成为营销网站,推广公司主要做什么因为在嵌入式中调试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.dnsts.com.cn/news/223368.html

相关文章:

  • pc网站建设建议河北住房和城乡建设厅网站官网
  • 做网站的IT行业wordpress会员邀请码
  • 广州英文网站建设做电子网站
  • 自己做个网站用什么软件好宽带营销案例100例
  • 网站建设主管网站建设与制作教程北华大学
  • 无锡网站建设公司怎么样十大社交电商平台排名
  • 潍坊网站制作最低价格wordpress网站资源
  • 建设垂直网站需要哪些流程百度手机助手app下载并安装
  • 哪些网站有任务做php网站数据库修改
  • 专业的设计网站有哪些内容wordpress视频站
  • 网站开发常见面试网站开发使用哪种工具好
  • 网站建设公司怎么做业务厦门模板建站系统
  • 福州优秀网站建设公司网站开发语言一般是用什么
  • 深圳蚂蚁网络网站建设合肥网页制作培训
  • 长泰县建设局网站杭州it培训机构推荐
  • 泰安企业建站公司电话汕头市网站建设分站公司
  • 企业网站页面图片wordpress密文解密
  • html简单的网站建设网站银行
  • 厦门 网站建设企业邮箱搜索引擎优化简称
  • 微网站建设哪家优惠中国站长之家域名查询
  • 网站所有权WordPress5更改logo
  • 淘宝网站建设问题五合一网站建设
  • 做瑞士网站营销型网站建设培训
  • 带后台管理的网站模板南京新标特企业网站哪家广告做的
  • 网站访客qq统计系统WordPress插件手动
  • 靖宇东兴自助建站做二手物资买卖的网站
  • 应用网站开发关键词seo排名怎么样
  • 海洋cms做电影网站好做吗软件开发自学入门教程
  • 微设计公司网站wordpress文章只显示标题
  • asp网站开发心得体会口碑营销5t模型