最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

QT技巧总结

IT圈 admin 19浏览 0评论

2024年3月10日发(作者:茹世英)

1. 如何在Qt程序中加入OpenGL支持。

在QT程序中加入OpenGL支持很简单,只需要在Kdevelop连接的库中加入“-lGL

-lGLU”即可,如果需要glut支持,还可以加入“-lglut”。具体操作是在kdevelop集成

编译环境中按下”F7”,在弹出的对话框中选择 “Linker”一项,在输入栏输入你想添加

的库即可,写法与gcc/g++一致。

一般在类QGLWidget中使用OpenGL,调用此类的头文件是qgl.h,具体写法请参考

qt例程中的gear,texture,box等程序(在RedHat7.2中,它们在

/usr/lib/qt-2.3.1/doc/examples下).

2. 检验linux/Unix环境是否支持OpenGL.

Qt中的QGLFormat类可以帮助我们轻易检验系统是否支持OpenGL,载入头文件

(#include )后,我们就可以使用QGLFormat的静态函数hasOpenGL来检验,

具体写法如下例:

if (!QGLFormat::hasOpenGL()) //Test OpenGL Environment

{

qWarning( "This system has no OpenGL support. Exiting." );//弹出警告对话框

return -1;

}

3.获得屏幕的高和宽.

一般我们可以通过QT的Qapplication类来获得系统的一些信息,载入头文件

(#include )我们就可以调用它,下例是使主程序充满整个屏幕的代码:

Gui_MainForm gui_mainform;

nWidget( &gui_mainform );

gui_( QApplication::desktop()->width(),

QApplication::desktop()->height() ); gui_();

4.关于信号和槽.

信号和槽机制是QT库的重要特性,可以说不了解它就不了解Qt.此机制能在各类间建

立方便快捷的通信联系,只要类中加载了Q_OBJECT宏并用 connect函数正确连接在一起

即可,具体写法这里就不赘述了.但本人在使用过程中发现使用此机制容易破坏程序的结构

性和封装性,速度也不是很让人满 意,尤其是在跨多类调用时.鄙人的一孔之见是: 信号和槽

机制不可不用,但不可多用.

程序中界面的设计.

尽管Kdevelop是一个优秀的集成编译环境,可遗憾的是它不是一个可视化的编译环境,

好在有Qdesigner来帮助我们完成界面设计,该程序的使用 很简单,使用过VB,VC和

Delphi的程序员能很快其操作方式,操作完成后存盘会生成一个扩展名为”ui”的文件,你

接下来的任务就是把它解析成 cpp和h文件,假设文件名为,解析方法如下:

2024年3月10日发(作者:茹世英)

1. 如何在Qt程序中加入OpenGL支持。

在QT程序中加入OpenGL支持很简单,只需要在Kdevelop连接的库中加入“-lGL

-lGLU”即可,如果需要glut支持,还可以加入“-lglut”。具体操作是在kdevelop集成

编译环境中按下”F7”,在弹出的对话框中选择 “Linker”一项,在输入栏输入你想添加

的库即可,写法与gcc/g++一致。

一般在类QGLWidget中使用OpenGL,调用此类的头文件是qgl.h,具体写法请参考

qt例程中的gear,texture,box等程序(在RedHat7.2中,它们在

/usr/lib/qt-2.3.1/doc/examples下).

2. 检验linux/Unix环境是否支持OpenGL.

Qt中的QGLFormat类可以帮助我们轻易检验系统是否支持OpenGL,载入头文件

(#include )后,我们就可以使用QGLFormat的静态函数hasOpenGL来检验,

具体写法如下例:

if (!QGLFormat::hasOpenGL()) //Test OpenGL Environment

{

qWarning( "This system has no OpenGL support. Exiting." );//弹出警告对话框

return -1;

}

3.获得屏幕的高和宽.

一般我们可以通过QT的Qapplication类来获得系统的一些信息,载入头文件

(#include )我们就可以调用它,下例是使主程序充满整个屏幕的代码:

Gui_MainForm gui_mainform;

nWidget( &gui_mainform );

gui_( QApplication::desktop()->width(),

QApplication::desktop()->height() ); gui_();

4.关于信号和槽.

信号和槽机制是QT库的重要特性,可以说不了解它就不了解Qt.此机制能在各类间建

立方便快捷的通信联系,只要类中加载了Q_OBJECT宏并用 connect函数正确连接在一起

即可,具体写法这里就不赘述了.但本人在使用过程中发现使用此机制容易破坏程序的结构

性和封装性,速度也不是很让人满 意,尤其是在跨多类调用时.鄙人的一孔之见是: 信号和槽

机制不可不用,但不可多用.

程序中界面的设计.

尽管Kdevelop是一个优秀的集成编译环境,可遗憾的是它不是一个可视化的编译环境,

好在有Qdesigner来帮助我们完成界面设计,该程序的使用 很简单,使用过VB,VC和

Delphi的程序员能很快其操作方式,操作完成后存盘会生成一个扩展名为”ui”的文件,你

接下来的任务就是把它解析成 cpp和h文件,假设文件名为,解析方法如下:

发布评论

评论列表 (0)

  1. 暂无评论