Maison > base de données > tutoriel mysql > "Unhandled exception in app.exe (QtGuid4.dll): 0xC0

"Unhandled exception in app.exe (QtGuid4.dll): 0xC0

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-07 15:38:17
original
1375 Les gens l'ont consulté

本文要 解决 的Qt调试问题截图如下: 起因 :在代码中添加类型为QColor的二维数组,存储图片每个像素。 现象 :调试时出现上图所示 错误 。 原因 :经过百度以及反复查看代码,发现在代码中,有数组越界的情况。因为定义的时候,数组的两个维度大小不一样,

本文要解决的Qt调试问题截图如下:

"Unhandled exception in app.exe (QtGuid4.dll): 0xC0

 

起因:在代码中添加类型为QColor的二维数组,存储图片每个像素。

 

现象:调试时出现上图所示错误

 

原因:经过百度以及反复查看代码,发现在代码中,有数组越界的情况。因为定义的时候,数组的两个维度大小不一样,而在实

           现 QWidget的重画事件时,因为坐标系的差别,使得两个维度的顺序对换,使得发生数组越界的情况。

 

详细解释:在程序中我定义的数组是QColor color [ Height ] [ Width ], 我的本意是Height代表图片的高度,Height的初值为400;Width

                  代表图片的高度,Width的初值为600。

                  然而在Qt的paintEvent事件中,QPainter中的 drawPoint( int x,int y )函数中,x表示的是图片的横坐标,对应数组的Width;

                  y表示图片的纵坐标,对应数组的Height。

                  由于在刚开始没有意识到坐标系与数组维度的对应关系,使得对应错误,导致越界。

 

 

如有疑问,请留言!如有问题,求指正!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal