<![CDATA[Qt 作品展]]> <![CDATA[qt 采集摄像头使用ffmpeg编码为h.264]]>


源码链接: http://pan.baidu.com/s/1o8t1Hfc]]>
<![CDATA[远聊,基于Jabber/XMPP协议的聊天软件]]> 1、采用Qt/QML开发,运行速度快,跨平台,同时又有很好的触控体验;
2、支持多种窗口布局模式和标签窗口显示方式;
3、支持多账号同时登陆;
4、支持多级用户分组(组织结构);
5、支持发送消息、聊天、群聊/私聊;
6、支持发送图片、文件、语音和屏幕截图;
7、支持富文本消息和消息气泡显示;
8、支持表情;
9、支持自定义头像;
10、支持显示历史消息;

屏幕截图
            

]]>
<![CDATA[QtCreator调试时打印不明内容]]> Debugging starts

Enter HookDeskTopWindowMsg
Enter InitInternalShellExt
D:\Program Files\QQPCMgr\12.5.18746.501\QMInternalShellExt.dll is not exists so failed
InitInternalShellExt bRetCode = 0
Debugging has finished]]>
<![CDATA[在Ubuntu下运行的局域网传输文件工具]]> 本帖包含的部分附件只能 访问 社区查看]]> <![CDATA[QT5关于共享内存的问题,为什么在mingw版本可以而在vs版本不可以,这两个编译器什么导致这样的结果的?]]> #ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QLabel>
#include<QGridLayout>
#include"windows.h"
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
public slots:
void   slottimeout();
public:
    QLabel *label;
    QGridLayout *mainlayout;
private:
    HANDLE hMapFlie;
    LPVOID intbuf;
    int *pt;
};

#endif // MAINWINDOW_H
这是读取数据方的源文件.cpp:
#include "mainwindow.h"
#include<QTimer>

#define BUF_SIZE 1025
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QTimer *timer=new QTimer;
    label=new QLabel(this);
    mainlayout=new QGridLayout(this);
    mainlayout->addWidget(label,1,0);
    connect(timer,SIGNAL(timeout()),this,SLOT(slottimeout()));
    timer->start(1000);
    char szName[] = "NameOfMappingObject";    // 共享内存的名字
    hMapFlie=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,BUF_SIZE,(LPCTSTR)szName);
    intbuf=MapViewOfFile(hMapFlie,FILE_MAP_ALL_ACCESS,0,0,BUF_SIZE);
    pt=(int*)intbuf;


}

MainWindow::~MainWindow()
{
    UnmapViewOfFile(intbuf);
    CloseHandle(hMapFlie);

}
void MainWindow::slottimeout()
{

  label->setText(QString::number(*pt));

}
写数据方的头文件.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QLabel>
#include<QGridLayout>
#include"windows.h"
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
public slots:
void   slottimeout();
public:
    QLabel *label;
    QGridLayout *mainlayout;
private:
    int num;
    HANDLE hMapFlie;
    LPVOID intbuf;
    int *pt;
};

#endif // MAINWINDOW_H
写数据方的源文件.cpp:
#include "mainwindow.h"
#include<QTimer>

#define BUF_SIZE 1025
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QTimer *timer=new QTimer;
    label=new QLabel(this);
    num=1000;
    mainlayout=new QGridLayout(this);
    mainlayout->addWidget(label,1,0);

    timer->start(1000);
    char szName[] = "NameOfMappingObject";    // 共享内存的名字
    hMapFlie=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,BUF_SIZE,(LPCTSTR)szName);
    intbuf=MapViewOfFile(hMapFlie,FILE_MAP_ALL_ACCESS,0,0,BUF_SIZE);
    pt=(int*)intbuf;
    *pt=num;
    connect(timer,SIGNAL(timeout()),this,SLOT(slottimeout()));

}

MainWindow::~MainWindow()
{
    UnmapViewOfFile(intbuf);
    CloseHandle(hMapFlie);

}
void MainWindow::slottimeout()
{

    num++;
    *pt=num;
    label->setText(QString::number(num));

}
现在有一个问题是,我用mingw的编译器去运行这段程序,能得到效果


如果是用MSVC2013版本的QT,就会出错,我是安装了VS2013,用QT creator IDE写的,UTF-8带BOM,用VS2013的编译器和windbg调试器,是写数据方数据一直在变化,但读数据方显示的值却一直为0,不知道为什么,我把makefile也重新配置过了,也不行]]>
<![CDATA[Qt Box2D Demo]]> Git地址: https://git.oschina.net/kimtaikee/cutebox2d.git , Git地址里面已经包含了Box2D的源码,解压之后修改box2d_inc.pri文件中Box2D的路径便可成功编译看效果。

截屏:
]]>