加载中…
个人资料
扯淡的烟酒生
扯淡的烟酒生
  • 博客等级:
  • 博客积分:0
  • 博客访问:201,669
  • 关注人气:22
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
(2014-03-01 16:24)
分类: OpenGl

在开发的过程中需要使用glew的库函数,按照网上说的一些dll文件,头文件和库文件配置好.

我的头文件顺序:

GL/glew.h

QtOpenGL

GL/glut.h

QtGui/QtGui

编译时出现这样的错误:

#warning To use GLEW with Qt, do not include or after glew.h

很郁闷,当然我把头文件顺序换了一下:

QtOpenGL

GL/glew.h

GL/glut.h

QtGui/QtGui

编译时又出现以下的错误:

gl.h is included before glew.h


这下子,我彻底无语了的,这样子的话,还直接告诉我不要在qt下使用glew库函数得了,在相关技术群里提问后,也没人知道解决办法,只好自己baidu,google了,发现在QtOpenGL中的一个qglfunctions.h的头文件定义了这个glew库函数中的函数(我用的是glBlendEquation函数),但是我包含了这个头文件后,编译还是不通过。

突然百度到一个网址:http://www.csc.kth.se/~perrose/files/qcreatemodel/main.html

我简单的看了下这个程序:

把我的头文件改成如下:

 

分类: QT
这里面主要讲的是使用QT的MainWindow作为主窗口,然后在主窗口中开辟一个子窗口,在这个子窗口中进行OpenGL绘制物体等,然后键盘按下,这个显示OpenGL的子窗口响应键盘事件,例如,按下某个键,子窗口中的物体会旋转等操作。

问题:键盘事件,首先被响应的是MainWindow这个主窗口类,经过一个下午的搜索方法,例如将焦点放在子窗口上,在这个子窗口类中使用keypressevent方法和updateGL方法,依然行不通,最后在QQ的几个专业群里进行求问,得到的答案:子窗口可以响应鼠标事件, 就是不能响应键盘事件,因此只有在MainWindow主窗口类中,用信号槽连接主窗口和子窗口,主窗口中使用keypressevent方法和定义一个信号,在这个方法中触发信号,传递变化的参数,子窗口中写槽事件,接受变化的参数,槽事件中用updateGL方法。

程序如下:
 main.cpp:  
 
(2013-10-29 20:58)
分类: DataBase

最简单的OCI程序是运行一个既无参数输入,又无参数输出的SQL语句(复杂的OCI程序,加上了动态SQL、数据的输入、数据的输出、会话处理等)
基本步骤如下:
1、建立环境
2、分配必须的句柄和数据结构
3、连接登陆到数据库
4、建立会话
5、执行SQL语句
6、断开数据库连接
7、释放分配的句柄和结构

即: 初始化环境OCIEnvCreate( ) -->
分配句柄(至少包含错误、服务器、服务环境、会话) -->
连接到服务器 OCIServerAttach( ) -->
设置各种属性,包括会话的用户名和密码,OCIAttrSet( ) -->
开始会话,并把此会话设为此服务环境的缺省会话,OCISessionBegin( ), OCIAttrSet( ) -->
分配建立语句并设置SQL语句,OCIHandleAlloc( ) , OCIStmtPrepa
分类: QT
 //fileName和filename2是显示的图片的路径 
 void doubleImage::paintEvent(QPaintEvent *event) 
 { 
          if(!fileName.isEmpty()&&!filename2.isEmpty()
分类: QT

转自:http://www.cnblogs.com/mxly/archive/2011/01/06/1927604.html

Qt for Windows版本下编译QtDBus模块
Qt中已经包含了QtDBus模块, 但此模块只能在Unix系统下使用, 却不支持Windows系统. 这里介绍的是Windows系统下如何生成QtDBus库, 并通过Qt的例子和工具来演示DBus的运行和通讯.

需要使用的软件有(以我的环境为参考):
qt-win-commercial-4.5.0-vs2005.exe(编译为win32-msvc2005)
dbus-msvc-1.2.4-1-lib.tar.bz2
dbus-msvc-1.2.4-1-bin.tar.bz2

下载地址:http://sourceforge.net/projects/windbus/files/windbus/1.2.4/

整个过程分为5个步骤:
A.解压dbus-msvc-1.2.4-1-lib.tar.bz2,dbus-msvc-1.2.4-1-bin.tar.bz2到C:\Qt\4.5.0\winDbus(自行选定);

B.生成QtDBus动态库:

1. 用'Microsoft Visual Studio 2005'打开 [QT-dir]\src\dbus\dbu

分类: QT
 QDataStream类提供了将二进制文件串行化的功能。 
 实例: 
 #include 'iostream' 
 #include 'QtCore' 
   
 using 
分类: QT

QString的arg()函数解决其他类型转换为字符串的问题:

int intValue;

QString strValue;

strValue = tr('%1').arg(intValue);

分类: OpenGl
void glutMotionFunc(void (*func)(int x, int y));
当鼠标在窗口中按下并移动时调用glutMotionFunc注册的回调函数
void glutPassiveMotionFunc(void (*func)(int x, int y));
当鼠标在窗口中移动时调用glutPassiveMotionFunc注册的
分类: C﹢﹢

From:东北菜青虫

在C++中为数组动态分配内存的格式如下:

 

第一步:声明

 

(2013-04-16 17:57)
分类: QT

Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在
QObject类或其子类间通讯的方法。作为一种通用的处理机制,信号与反应槽非常灵活,可以携带任意数量的
参数,参数的类型也由用户自定。同时其本身也是类型安全的,任何一个从QObject或其子类继承的用户类都
可以使用信号与反应槽。

    信号的作用如同Windows系统中的消息。在Qt中,对于发出信号的对象来说,它并不知道是谁接收了这个
信号
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有