<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[linchuangsimeng的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/linchuangsimeng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linchuangsimeng]]></copyright><item><title><![CDATA[QT 自定义组件QSS设置]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/121269689</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/121269689</guid><author>linchuangsimeng</author><pubDate>Thu, 11 Nov 2021 15:59:05 +0800</pubDate><description><![CDATA[QT自定义组件的组件需要实现paintEvent 方法，否则QSS无效


void QMyWidetBtn::paintEvent(QPaintEvent *event)


{


    QStyleOption opt;


    opt.init(this);


    QPainter p(this);


    style()-&gt;drawPrimitive(QStyle::PE_Widget, &amp;opt, &amp;p, this);


}



同时，QSS设置要在父窗]]></description><category></category></item><item><title><![CDATA[Linux 文件夹与文件管理]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/69977162</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/69977162</guid><author>linchuangsimeng</author><pubDate>Thu, 11 Nov 2021 15:56:24 +0800</pubDate><description><![CDATA[- : 前一个目录
~：当前用户/home目录


basename /etc/sysconfig/network : 得到文档名称network
dirname /etc/sysconfig/network : 得到文档所在目录名称/etc/sysconfig


locate 文件名：搜索文件路径，通过数据库搜索，比较快速
find [PATH] [option] [acti]]></description><category></category></item><item><title><![CDATA[shell 执行错误输出]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/79494436</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/79494436</guid><author>linchuangsimeng</author><pubDate>Thu, 11 Nov 2021 15:55:51 +0800</pubDate><description><![CDATA[mkdir test >/dev/null 2>&1
正常和异常错误都不输出


> 代表重定向到哪里，例如：echo "123" > /home/123.txt
1 表示stdout标准输出，系统默认值是1，所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思，2>&1，表示2的输出重定向等同于1]]></description><category></category></item><item><title><![CDATA[QT 4.8.6 +vs addin + vs2010]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/70880516</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/70880516</guid><author>linchuangsimeng</author><pubDate>Thu, 11 Nov 2021 15:54:45 +0800</pubDate><description><![CDATA[QT 4.8.6安装
http://download.qt.io/archive/qt/下载指定的QT 版本

vs_addin
http://download.qt.io/official_releases/vsaddin/ 下载制定vs_addin

1.打开vs2010,添加Qt 程序时报错， Unable to find a Qt build! To solve this ]]></description><category></category></item><item><title><![CDATA[auto_deleter 使用，定义自动销毁对象]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/82713607</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/82713607</guid><author>linchuangsimeng</author><pubDate>Sat, 15 Sep 2018 14:22:14 +0800</pubDate><description><![CDATA[template &amp;lt;typename T&amp;gt; struct auto_deleter
{
    typedef void(*D)(T*);//函数指针定义
    T* data;
    D deleter;

    auto_deleter(T* _data, D _deleter):data(_data), deleter(_deleter)
    {

    }

   ...]]></description><category></category></item><item><title><![CDATA[libevent 自定义事件处理]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/82713545</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/82713545</guid><author>linchuangsimeng</author><pubDate>Sat, 15 Sep 2018 14:16:47 +0800</pubDate><description><![CDATA[定义事件

struct Event{
    int type;
    void* data;
    struct event  ev;
};

//回调函数处理

static void event_cb(evutil_socket_t fd, short event, void *arg)
{
    Event* myEvent = (Event*)arg;
    if (!myEv...]]></description><category></category></item><item><title><![CDATA[oracle merge 使用记录]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/82713521</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/82713521</guid><author>linchuangsimeng</author><pubDate>Sat, 15 Sep 2018 14:13:16 +0800</pubDate><description><![CDATA[merge into table t
using (select 'key' key from dual ) t2
on (t2.key = t.key)
when matched then
update set t.x = xxx, t.y = yyy,t.date = to_date(?, 'yyyy-mm-dd hh24:mi:ss')
when not matched then
   in...]]></description><category></category></item><item><title><![CDATA[shell 异常输出不显示]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/79494521</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/79494521</guid><author>linchuangsimeng</author><pubDate>Fri, 09 Mar 2018 10:58:31 +0800</pubDate><description><![CDATA[echo &quot;123&quot; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;gt; 代表重定向到哪里，例如：echo &quot;123&quot; &amp;gt; /home/123.txt 1 表示stdout标准输出，系统默认值是1，所以&quot;&amp;gt;/dev/null&quot;等同于&quot;1&amp;gt;/dev/null&quot; 2 表示stderr标准错误 &amp;amp; 表示等同于的意思，2&amp;gt;&a]]></description><category></category></item><item><title><![CDATA[WIN 设备遍历]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/78239138</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/78239138</guid><author>linchuangsimeng</author><pubDate>Sun, 15 Oct 2017 10:55:27 +0800</pubDate><description><![CDATA[1.遍历win设备，需要使用的SetUpApi
头文件：SetupAPI.h
lib:setupapi.lib
2.使用方法如下：
a.HDEVINFO SetupDiGetClassDevs(CONST GUID *ClassGuid, PCWSTR Enumerator,HWND hwndParent,,DWORD Flags)
获取所有查询设备集合。 
classGuid 是需要]]></description><category></category></item><item><title><![CDATA[ftp 上传或者获取文件脚本]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/74175720</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/74175720</guid><author>linchuangsimeng</author><pubDate>Mon, 03 Jul 2017 10:23:22 +0800</pubDate><description><![CDATA[#/bin/bash
FILE_NAME=$1
ftp -niv 
open 10.42.205.33 #ftp连接的ip
user  test test123 #ftp连接用户名和密码
cd Jenkins_WorkSpace/workspace #ftp目录
lcd /usr/local #设置本地保存目录
bin #二进制传输
get FILE_NAME #下载文件
bye]]></description><category></category></item><item><title><![CDATA[Linux ftp 下载文件脚本]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/73610852</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/73610852</guid><author>linchuangsimeng</author><pubDate>Thu, 22 Jun 2017 20:35:48 +0800</pubDate><description><![CDATA[#!/bin/shell
ftp -niv  >> - EOF                               
open destip 
user useraccount password
cd temp
lcd /usr/local
get  filename
bye
EOF


执行该脚本后，下载文件到本地/usr/local 目录]]></description><category></category></item><item><title><![CDATA[QT 自定义widget 背景图片设置]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/72769790</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/72769790</guid><author>linchuangsimeng</author><pubDate>Fri, 26 May 2017 14:36:23 +0800</pubDate><description><![CDATA[在自定义widget中，通过setSheetStyle 设置的背景图片没有效果，必须加一层QFrame
定义一个QFrame， 设置QFrame的 sheetstyle
同时设置 widget setAutoFillBackground(true);




﻿﻿]]></description><category></category></item><item><title><![CDATA[QT背景设置&Win QMenu定制]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/71836194</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/71836194</guid><author>linchuangsimeng</author><pubDate>Sat, 13 May 2017 16:25:36 +0800</pubDate><description><![CDATA[1.通过border-image:url(xxxxx) top right button left 设置组件的背景
样例如下：
#menu {border-image:url(:/image/Tree_Icon) 0 100 220
80;
}
#menu:hover{
border-image:url(:/image/Tree_Icon) 0 80 220 100;
}
2.QM]]></description><category></category></item><item><title><![CDATA[监听程序退出的方法]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/70371542</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/70371542</guid><author>linchuangsimeng</author><pubDate>Sat, 22 Apr 2017 10:51:45 +0800</pubDate><description><![CDATA[1.Java 程序
通过Runtime.getRuntime.addShutdownHook(Thread t), 添加一个线程监控程序的退出，在线程中做一些清理操作


2.Win C程序
通过SetConsoleCtrlHandler(PHANDLER_ROUTINE handler,  true), 添加一个信号监听，handler 是一个回调函数，定义如下：
BOOLhandl]]></description><category></category></item><item><title><![CDATA[window bat 一些常用方法]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/70356826</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/70356826</guid><author>linchuangsimeng</author><pubDate>Sat, 22 Apr 2017 10:24:14 +0800</pubDate><description><![CDATA[1. 目录相关
~dp0:执行文件当前目录
cd: 当前工作目录
pushd %cur_dir% 设置当前工作目录为cur_dir 变量指向的目录 
2. 判断某个字段是否在某个文件中
findstr /r "FAILED" log.make.log >NUL 2>NUL


样例如下：
@echo off
set cur_dir=%~dp0
set work_dir=%cd]]></description><category></category></item><item><title><![CDATA[7z 使用]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/68943969</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/68943969</guid><author>linchuangsimeng</author><pubDate>Sat, 01 Apr 2017 14:07:25 +0800</pubDate><description><![CDATA[7z a test.zip version -xr!.svn
把version目录压缩至test.zip， 排除.svn目录]]></description><category></category></item><item><title><![CDATA[对于C++传值的理解]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/68941324</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/68941324</guid><author>linchuangsimeng</author><pubDate>Sat, 01 Apr 2017 09:51:35 +0800</pubDate><description><![CDATA[在项目中使用Jsoncpp, 有人使用了jsoncpp的asString（）方法，同时也使用了.c_str(),如下
Json::Value root;
root["name"] = "Baikai";
root["age"]    = 12;
const char* pData = root["name"].asString().c_str();
此时，pData不是我们想象中的 "B]]></description><category></category></item><item><title><![CDATA[Jenkins 安装与配置]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/68941077</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/68941077</guid><author>linchuangsimeng</author><pubDate>Sat, 01 Apr 2017 09:29:22 +0800</pubDate><description><![CDATA[一.Jenkins 集成环境安装
1.下载jdk版本，在此不再叙述
2.下载Jenkins
都https://jenkins.io/去下载最新的稳定的war包（可以直接部署在win环境）
3.下载安装tomcat,不再叙述
4.通过java -jar jenkins.war （cmd 执行java命令）开始部署jenkins 
访问 http://localhost:8080/ （wi]]></description><category></category></item><item><title><![CDATA[利用pugixml 将xml转化为string]]></title><link>https://blog.youkuaiyun.com/linchuangsimeng/article/details/49340511</link><guid>https://blog.youkuaiyun.com/linchuangsimeng/article/details/49340511</guid><author>linchuangsimeng</author><pubDate>Thu, 22 Oct 2015 23:13:05 +0800</pubDate><description><![CDATA[在pugixml 中，xml_document 和xml_node 没有直接将xml保存为字符串的函数，可以通过重写writer实现。代码如下：
struct xml_string_writer :public pugi::xml_writer
{ 
 string xml;
 void write(const void* data, size_t size)
 {
  char* p]]></description><category></category></item></channel></rss>