关于c与qt界面连接的思路,--工作总结
来源:互联网 发布:linux内核移植教程 编辑:程序博客网 时间:2024/05/01 13:28
把后台分析IP的C程序与QT界面连接起来:
1. 用designer设计界面,生成form.ui文件
2. 利用qt-x11-2.3.2提供的uic生成form.h和form.cpp:
1) 设置坏竟环境变量:
QTDIR=/s3c2410_linux/QT/qt-x11-2.3.2
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$ LD_LIBRARY_PATH
Export QTDIR PATH LD_LIBRATY_PATH
2) /s3c2410_linux/QT/ qt-x11-2.3.2/bin/uic –o form.h form.ui
/s3c2410_linux/QT/ qt-x11-2.3.2/bin/uic –o form.cpp –I form.h form.ui
3.修改程序,把C程序的主函数换成一个槽,与界面对应信号连接:
void Form:: find()
void Form:: find()
{
if (!nids_init())
/* Libnids初始化 */
{ char s[100];
sprintf("出现错误:%s/n", nids_errbuf);
text->setText(s);
exit(1);
}
nids_register_tcp((void *)http_protocol_callback);
/* 注册回调函数 */
nids_run(); /* 进入循环捕获数据包状态 */
}
且C程序的主函数调用的函数都要在头文件中声明,在.cpp文件中定义,注意有几处要修改的地方:
1) 在.h文件中加:
Extern “C”
{
#include”nids.h”
}
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netinet/in_systm.h>
#include<arpa/inet.h>
#include<arpa/inet.h>
#include<string.h>
#include<stdio.h>
#include<stdib.h>
#include<ctype.h>
2)下面的函数是在.cpp文件中这样声明的!:
char ascii_string[10000];
char * form;;char_to_ascii(char ch)
{
char *string;
ascii_string[0] = 0;
string = ascii_string;
…….
}
3回调函数不做为界面类的成员函数,而是单独的函数,且要做修改:
Void ip_callback(struct ip *a_packet,int len)
{
Form ip_protocol;
Ip_protocol.ip_protocol_packet_callback((u_char*)a_packet);
}
4添加main函数。
5.5.利用tmake提供的progen,tmake工具生成Makefile:
1)先设置环境变量:
1)先设置环境变量:
TMAKEDIR=/s3c2410_linux/QT/tmake
TMAKEPATH=$TMAKEDIR/lib/linux-g++
PATH=$TMAKEDIR/bin:$PATH
export TMAKEDIR TMAKEPATH PATH
2)progen生成工程文件:
Progen –n http –o http.pro
3) tmake生成Makefile:
Tmake http.pro –o Makefile
6.Makefile也要添加如下内容:
INCOATH项添加 –I /usr/include
LIBS项加 -L /usr/libs –lpcap –lnet
7.Make
编译通过了!可惜功能未知。
- 关于c与qt界面连接的思路,--工作总结
- 今日工作总结:jquery轮转效果的集成与前台页面banner的设计思路总结
- 关于购买界面实现思路
- QT-关于程序异常错误的解决思路
- 关于layerfsd的实现与思路
- 关于解题的思路与方法
- 界面Model修改更新的小思路与实现
- [C/C++][界面][Qt]windows底下实现第一个Qt界面编程的demo[1]
- Qt界面显示图片,Qt与opencv的联合运用
- 关于Qt信号连接的问题
- 关于Qt 信号与槽自动连接 qPushbutton按钮无法点击的问题
- 登陆界面的大致思路
- 关于iMX6Q QT 在UI界面显示中文的问题!
- Qt 多界面来回切换的问题以及Qt界面关闭与销毁
- QT信号与槽的自动连接
- QT与数据库的远程连接
- 简单的Qt连接信号与槽
- Qt与SQL server的连接使用
- delphi类消息的处理机制
- 部分基金公司的一些“招牌”基金
- 网络创业者莱恩-福克斯:最后一分钟的奇迹
- 有没人告诉你,是天堂还是地狱?
- TopCoder比赛简介
- 关于c与qt界面连接的思路,--工作总结
- 最大乘积问题(NOIP原题)
- Solaris内核中的中断接口
- fedora7 adsl设置成功!有问题的进来参考下!!
- asp.net 获取当前目录的几个方法
- java Swing 自动视感包
- Solaris,Linux和FreeBSD内核的比较
- hibernate3学习系列文章的地址列表
- Solaris USB设备驱动-USB Generic Driver