2012年8月

exe或者dll自己更新自己

原理:
虽然exe或者dll运行后,不可以删除或者替换。
但去可以改名。

所以步骤:
1. 下载新版本
soft.exe为 soft.exe.new
2. 改名旧版本。
soft.exe-> soft.exe.bak
3. 新版本改名
soft.exe.new -> soft.exe
4. 删除旧版本
delete soft.exe.bak

为保证下载下来不冲突。下载前最好先删除 soft.exe.bak. 哪怕不存在

centos设置变量

/etc/profile 所有用户有效
/etc/bashrc 所有用户shell环境变量
用户目录下/.bashrc 设置用户私有环境变量

在以上文件下添加好环境变量后。
可以重启生效或者执行
"source 文件"立即生效。

如: "source /etc/bashrc"

apache多端口启动失败

非正常升级centos后,发现原来绑定多个端口的apaceh无法正常启动。
尝试绑定一个端口启动正常。
后来尝试并成功:
指定其它端口监听ip.
如:
0.0.0.0:86
0.0.0.0:87

qt不支持https网页的解决办法

重写networkAccessManager的sslErrors方法。

对于webview.可以绑定事件。
如在程序开始:

connect(ui->webView->page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*,QList)), this, SLOT(on_sslErrors(QNetworkReply*,QList)));

然后,再自己写on_sslErrors信号.
void MainWindow::on_sslErrors(QNetworkReply *reply, const QList &errors)
{
//qDebug() << "e_error:" + reply->url().toString();
reply->ignoreSslErrors(errors);
}

记得加载:
#include
#include

qt解决各系统下乱码

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

程序用utf8,外来文字用系统本地语言