比如当你Qt中用QPainter进行window和viewport,逻辑和物理坐标分离的形式进行绘图放大的时候,你会发现鼠标的移动和放大之后的图像有点不跟手,比如你是用QTransform进行放大变换,其实这个时候有个小窍门可以比较方便的解决这个 问题就是用反向的QTransform,比如前者进行viewport放大代码是这样QTransform trans = QTransform(zoom, 0, 0, 0, zoom, 0, 0, 0, 1)用来装饰放大物理坐标,那在处理event的时候就…
Qt窗体关闭时,如何自动销毁窗体类对象     要对你的窗口设置WA_DeleteOnClose属性,默认的情况下关闭窗口仅仅意味着隐藏它 ImgWindow1->setAttribute(Qt::WA_DeleteOnClose,  true);  …
Qt Creator编译时:cannot open file 'debug\QtGuiEx.exe' File not found 利用Qt Creator编译工程时,出现如题目所示的错误,其中红色部分是工程名称. 在Qt Creator的Build栏中,点击clean all 和 clean project "QtGuiEx",后,再进行编译,仍然出现该错误. 在工程目录下,发现debug文件夹内存在QtGuiEx.exe. 既然存在该文件,为什么还打不开呢?猛然见发现,上次debu…
我们在之前的博文QVector的内存分配策略与再谈QVector与std::vector——使用装饰者让std::vector支持连续赋值中简单聊了聊QVector内存分配和赋值方面的一点东西,今天接着从QVector展开谈谈Qt的写时复制技术.老实说,“隐式共享,引用计数,写时复制”也是老调重弹的话题了,不过也是QTL与STL最大的区别之一,这篇博文不详谈“写时复制”技术的细节,那个有不少文章介绍过了,我们扯点关于operator[]和QByteRef和QStringRef的犊子就好. 废话不…
描述 本例展示了如何在地图里指出显示的缓存或切片的细节等级(LODs).当打开示例地图,可以看到一些来自ArcGIS Online ESRI_Imagery_World_2D图层的影像.这个应用程序配置这个影像仅LOD 0 - 11是可见的,即使在源缓存中存在其他的等级.直接放大最终会切换到来自ArcGIS Online CSP_Imagery_World_2D图层的详细的user-contributed影像.该应用程序配置了user-contributed影像仅仅在LODs 12 -17是可见…
在网上直接下载别人编译好的Qt库,为自己使用省了不少事.但往往也会遇到些问题,其中Qt version is not properly installed,please run make installQt没有被正确安装,请运行make install这个问题是比较常见的一个.网上看了一个帖子,终于明白原因所在,原来是qmake.exe是在Qt安装编译时生成的,里面内嵌了Qt相关的一些路径.如果直接拷贝过来使用,自己的路径结构与原来不同,则Qt库就不能正常使用.提示就是Qt version is…
最近在学习QT,自己仿写了一个简单的QT绘图程序,但是在退出时总是报错,断言错误: 报错主要问题在_BLOCK_TYPE_IS_VALID(pHead->nBlockUse),是在关闭窗口时报的错: 先前考虑是析构函数有问题,重写并且排查相关变量并未发现问题. 根据报错问题又推测栈调用出现内存溢出,寻找程序中所有的链表和栈调用.未果. 最后用了最笨的方法,将构造函数中所有变量挨个遍历,最终确定问题出在Qt的setAttribute(Qt::WA_DeleteOnClose)这行代码上. 网上查询…
至少我碰到了三个情况,都是AppCrash错误(以下都指VS2008的Release的设置) 第1个错误,报错模块是程序自己 我使用VS2008 Team with SP1和QT4.86编译程序,一直在本机上运行没什么问题,编译出的exe文件在别的机子上运行没问题(https发送有问题,但这是另外一回事).后来VS2008 TEAM三个月试用期满,于是卸载掉换成ZWT的VS2008 PRO,打上补丁SP1.奇怪的是使用VS2008 PRO编译出来的程序会报AppCrash错误,程序登录界面都无法…
用Qt写了一个小软件,在把程序release后,打包分装后,发现程序运行的时候会伴随cmd命令窗口,可把我愁怀了 不过功夫不负有心人,在老师和我网友的帮助下,终于搞完了 CONFIG:指定工程配置和编译参数 以下对CONFIG变量做主要介绍: debug:编译有调试信息的可执行文件或则库 release:编译不具有调试信息可执行文件或者库(如果同时指定debug release时,只有debug有效) warn_off:关闭大量警告,默认是打开的 qt:指应用程序使用Qt dll:动态编译库 s…
plot.h #ifndef PLOT_H #define PLOT_H #include<QTimer> #include <QWidget> class pathplot : public QWidget { Q_OBJECT public: explicit pathplot(QWidget *parent = nullptr); void paintEvent(QPaintEvent *event); }; #endif // PLOT_H plot.cpp # inclu…