VS+QT 工程中导入自定义控件

对于C++程序员来说,做一个漂亮的界亮程序通常都比较痛苦,QT相对于MFC来说是一种非常好的选择,尤其是QT被Digia公司收购以后,接连升级了多个版本,逐步兼容Windows、Linux、Mac OS、iOS和Android平台,很好。

在Windows平台使用Qt常用的方法有两种,一种是VS+插件的方法,另一种是使用Qt提供的Creator程序(需要安装C++编译器和调试器),笔者在工作中两种方式都用过,比较喜欢第二种,从认同感上讲各方面都喜欢Qt,排斥微软。但今天要说的问题是在使用第一种方法时遇到的。

继续阅读VS+QT 工程中导入自定义控件

安装GitHub for Windows

【转载于百度经验 亲测可用】

在 http://windows.github.com/ 下载的GitHub客户端安装程序可能出现安装错误,日志显示 http://github-windows.s3.amazonaws.com/GitHub.application 无法下载。用 Internet Explorer 无法访问此地址,用其它浏览器下载打开后无法部署(提示错误,详细信息显示 DeploymentDownloadException 或 InvalidDeploymentException 异常)。本文提供解决方案。

继续阅读安装GitHub for Windows

Qt Creator 常用快捷键

1、Ctrl + Tab:快速切换已打开的文件

2、Ctrl + 左键:快速转到声明/定义(同F2)

3、Alt + (1-7):快速打开/关闭对应的输出窗口

4、Ctrl + M:快速添加/删除书签

5、Ctrl + E,2:快速添加上下布局的分栏

6、Ctrl + E,3:快速添加左右布局的分栏

7、Ctrl + E,1:快速删除所有的分栏

8、F2:快速切换到选中对象的声明/定义

9、F4:快速在头文件(.h)和实现文件(.cpp)之间进行切换

10、Ctrl + /:快速注释/取消注释选定内容

11、Ctrl + i:自动缩进选中代码

12、Ctrl + shift + ↑:将当前行的代码向上移动一行

13、Ctrl + shift + ↓:将当前行的代码向下移动一行

14、Alt + ←:快速返回

15、Alt + →:快速前进

wordpress页面无法翻页的解决办法

最近发现网站页面分页不能翻页(首页除外),无论wordpress自带的翻页函数还是wp_ea_navi插件的翻页功能都无效。

状况:页面是翻过去了,地址也变了,就是内容没变。

原因:使用query_posts()函数调用文章,query_posts()函数会关闭对分页功能的呼叫(If you manipulate query_posts() directly, it turns off paging. Sorry.)

继续阅读wordpress页面无法翻页的解决办法

在C#中将in_addr转换为IPAddress

C、C++中有时候会用 in_addr 结构体 做为参数保存IP地址,当用C、C++编写的动态库包含 in_addr 参数的接口,而我们需要在 C#中调用此动态库时就会遇到将 in_addr 转换为 IPAddress 的问题,以下C#代码可实现此转换:

继续阅读在C#中将in_addr转换为IPAddress

网站改版日志——第6天

第6天,总算整得比较满意了〜〜〜

废话不多说,请看效果:http://www.museradio.net/?p=332

两个网站的布局已全面整理,MuseRadio 修改了单文章浏览时的展现方式(去除了侧边栏),到今天为止技术和形式层面的改版工作暂时告一段落,下一阶段开始充实内容。

加油!

网站改版日志——第5天(小结)

今天发第二个帖子,总结一下自制Wordpress主题的进度。

制作过程以《从零开始创建 WordPress 主题系列教程 》作为参考,这个教程是译自国外某个教程,增加了作者自己的总结和心得,写得非常不错。

继续阅读网站改版日志——第5天(小结)

网站改版日志——第5天

WordPress主题制作进行到第5章日志元数据的时候,由于教程中的源代码实在看不清,四处搜索耽误了几天时间。后来发现接着往后看还会有解释,看来确实不能钻牛角尖,得往远看。

作为一个WEB外行,Wordpress 主题制作过程中学到了一些基本技术:通过浏览器(Chrome)的“审查“元素功能,可以跟踪到内容对应的CSS代码,这样就可以方便的通过修改CSS代码来调整主题样式。

下一步开始主题侧边栏制作。

StartServiceCtrlDispatcher 返回1063错误

Windows 服务程序一般创建为控制台程序,其主体代码结构如下:

void main(int argc, char* argv[])
{
     SERVICE_TABLE_ENtry servicetable[]=
    {
     {strServiceName,(LPSERVICE_MAIN_FUNCTION)ServiceMain},
     {NULL,NULL}
    };
 
    if( (StartServiceCtrlDispatcher(servicetable)) != success ) {
    // 這裡發生了 1063 的錯誤
    }
}
 
void ServiceMain(DWORD argc, LPTSTR *argv)
{
     BOOL success;
 
     //註冊 service handle function
     nServiceStatusHandle=RegisterServiceCtrlHandler(strServiceName,
     (LPHANDLER_FUNCTION)ServiceCtrlHandler);
     if(!nServiceStatusHandle)
     {
     return;
     }
 
     ...........
     ..........
     .........
}

当服务成功安装后再运行此程序,会在 StartServiceCtrlDispatcher 处返回 1063 错误,反复检查代码并在网上查询均找不到原因。其实代码是没有错误的,问题在于,服务安装成功以后就不需要你自行运行程序了,StartServiceCtrlDispatcher  函数应该是由 SCM (service controll manager) 来调用的。1063错误即是无法连接 service controller 的意思。

网站改版日志——第4天

前两天 SAE 海外服务器宕机,两个网站全部挂掉,在SAE论坛里大大抱怨了一番,今早又将域名换成了 DNSPod 的 DNS 服务器……

折腾过后,居然好了,网站恢复正常了。不知道是更 换DNS服务器的原因还是抱怨SAE的结果。

继续阅读网站改版日志——第4天