编程
Lutx
这个作者很懒,什么都没留下…
展开
-
html中表格的动态操作
因为做的项目中,需要实现这样一个功能,在html页面中的表格行,要求可以由用户来自行调整上下的顺序。不知道现有的技术能否实现这样功能,有待研究一下。在这之前已经知道并应用过,可以通过脚本来动态创建表格,但仅用了其中很简单的功能而已。昨天上班时特意下载了一份中文的微软DHTML参考手册,今天晚上正好来仔细研究一下其中的table对象。首先研究了如何实现所需要的功能,查看tr对象的方法,发现最后有原创 2005-07-06 10:01:00 · 2383 阅读 · 1 评论 -
利用QT_DEBUG_PLUGINS检查Qt的插件问题
Qt的编程中包含了插件模式,使得程序的扩展性非常好,但插件的动态加载的检查也比较严格,这次编译数据库驱动插件就碰到了不少问题。实际上,可以在系统的环境变量中设置QT_DEBUG_PLUGINS=1,再执行程序加载插件时,再系统控制台上会输出许多加载插件时的调试信息,可以清楚的看到系统尝试加载了哪些插件,哪些是成功的,哪些没有成功,原因是什么都写的比较清楚。因此,如果自己编译的插件库无法加载,可以用原创 2012-03-02 23:00:52 · 3607 阅读 · 0 评论 -
Q_ASSERT failed in qt_win_display_dc()
在Qt中编程调试时有时会发生一个奇怪的错误,在qt_win_display_dc()函数中会发生Assert Failed,导致程序崩溃。该函数的代码如下:Q_GUI_EXPORT HDC qt_win_display_dc() // get display DC{ Q_ASSERT(qApp && qApp->thread() == QThread原创 2012-03-07 16:29:39 · 3397 阅读 · 0 评论 -
Qt多线程编程中的对象线程与函数执行线程
近来用Qt编写一段多线程的TcpSocket通信程序,被其中Qt中报的几个warning搞晕了,一会儿是说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket notifiers cannot be enabled from another thread”,原创 2012-03-14 17:46:02 · 28300 阅读 · 9 评论 -
静态库里的静态变量
我们知道,在C语言里面的静态变量,在程序运行上只有一份拷贝, 在程序的任何一处改变其值后, 其他地方再调用会得到已经修改后的值, 因此可以当做一个全局变量来使用.但是,当系统比较庞大时,经常会将一些功能代码编译成各种库来调用,这里的库有静态库和动态库. 问题是, 当一个静态变量是定义在一个静态库里面时, 它是不是也只有一份拷贝呢,答案是不一定. 考虑这样的一个情况, 有一个静态库liba,原创 2014-10-31 23:41:27 · 3529 阅读 · 0 评论 -
OSX 10.9 Compile error: garbage collection is no longer supported
在编译VTK 6.1时遇到这个错误, 经查询与原创 2014-10-16 13:07:45 · 1825 阅读 · 0 评论 -
lower_bound和upper_bound的用法
1. 两者的参数序列应该是按照升序排序的;2. 两个函数都是用二分法查找指定元素在序列中的位置;3. 两个函数的返回值类型为迭代器;4. 当要查找的值不在序列中时,返回值为按顺序应该插入到该序列的位置,这时两个函数的返回值是一样的;> 如:序列 v=【1,3,5,7,9】,x=4,> lower_bound(v.begin(),v.end(),x) - v.be...原创 2018-04-24 13:18:36 · 431 阅读 · 0 评论 -
代码UTF8之路1:如何在QT项目中关闭C4819的警告
近日将整个项目的源码格式从GB2312转成了UTF8(无BOM)的格式,在QtCreator中编译时出现了著名的C4819警告:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失。虽然程序不影响,但大片的warning夹杂在其他有用的编译消息中却非常碍事,故决定搜索解决方案。网上可以搜到大量的文章,但写的都一样,都是设置VC的项目属性,或者修改文...原创 2018-05-05 08:09:21 · 1999 阅读 · 1 评论 -
代码UTF8之路2:解决VS编译中的C1071错误
继上一次解决了C4819的警告(点击这里打开)之后,继续之后又遇到编码问题。首先是有一个文件编译出现错误,提示未定义变量,但是该文件改为GBK编码后,编译是正确的,最后通过逐行排除法,发现将某行注释后增加一个换行可以正确编译,暂且忽略;然后,又遇到了这个C1071错误,提示“在注释中遇到意外的文件结束”,可以确认代码是没有问题,而且改为UTF8编码之前(用的是GBK编码)编译是没有问题的,上网查找...原创 2018-05-05 10:54:14 · 1319 阅读 · 1 评论 -
Mac系统下Qt 4.8编译连接数据库(Oracle,MySql)
昨天在Mac下成功编译了MySql和Oracle的数据库插件驱动,但遗憾的是在程序中无论如何也加载不了这两个驱动,也无法连接数据库。在环境变量中设置QT_DEBUG_PLUGINS=1, 再启动程序后Qt会报告一些加载插件的调试信息,从中可以看出是插件不兼容引起的,也就是文档中所说的Build Key的问题,在文档中有提到可能需要清除插件缓存(Plugin cache),应该是在一个QSettin原创 2012-03-02 23:59:24 · 3794 阅读 · 0 评论 -
QLatin1String类的学习
QLatin1String类对US-ASCII/Latin-1编码的字符串进行了封装。 许多QString的成员函数都用const char*代替QString作为参数实现重载。这包含拷贝构造函数,赋值操作,比较操作和其他不同的函数,比如insert(), replace(), indexOf(). 这些函数都做了优化以避免在函数调用时从const char*中构造一个QString翻译 2012-02-27 18:19:05 · 14196 阅读 · 0 评论 -
Qt中QSortFilterProxyModel关于多列排序的实现
在以前也使用过QSortFilterProxyModel这个类, 用它对视图进行搜索,排序等操作还是比较方便的。但是发现在排序时只允许根据一个关键字来排序,如果要实现“先根据列A升序,在根据列B降序排序”的这种需求,它就无能为力了。在网上查找关于这方面的信息或代码,发现都是有这种需求,但没有现成的例子可以借鉴。无奈之下,自行研究了Qt这个代理类的实现和源代码,找出了实现多个关键组排序的方法,在此发原创 2012-01-02 18:21:14 · 4099 阅读 · 3 评论 -
Qt使用日记(1): 安装
以前开发软件一直使用Borland C++ Builder系列的开发工具,但用久了,觉得写出来的程序界面太一般了(有很大的原因是研究不深?!)。另外,基于编写多平台(主要是Linux和Unix)软件的需求,需要另外找一套支持多平台界面开发包。在GOOGLE上找了几日,瞄上了Qt.下面要记录的是学习、使用Qt的过程,和其中发生的故事,走过的弯路,等等......2005-08-30: Qt的安装1.原创 2005-09-01 16:25:00 · 6249 阅读 · 0 评论 -
C语言中fscanf函数读取double型浮点数的问题
转载时请注明出处和作者联系方式作者联系方式:Lutx (80437#zj.com) 在C语言里面, 将一个浮点数输出到文件中, 可以使用符号%f, 如 double a = 0.0;fprintf(fp, "a = %f", a); 而如果要从文件中读取一个double类型的浮点数, 就不能用%f, 而要用%lf才可以. 如 double a;float原创 2009-12-24 22:51:00 · 27052 阅读 · 7 评论 -
Window平台和Linux平台下Ftp服务器的区别
windows下的ftp服务器在list命令的返回中会包含"."和".."两个子目录.原创 2011-01-18 17:50:00 · 4020 阅读 · 0 评论 -
QDir::NoDotAndDotDot隐藏了所有的项目
在使用QDir::entryInfoList函数对目录下的文件和子目录进行遍历时, 希望将Windows中的"."和".."目录忽略, 否则总是会将"."和".."也当成子目录处理, 就造成了一个死循环. 开始用了以下的调用方式QDir("mydir").entryInfoLis原创 2011-07-13 16:11:47 · 3944 阅读 · 0 评论 -
strncpy 末尾不会自动加上'\0'
strncpy相对于strcpy来说, 被认为是比较安全的函数, 不会造成目标缓冲区的溢出. 但是该函数不会再目标缓冲区的结尾自动加上字串结束标志符'\0', 需要在程序中手工在结束处置'\0'.以下为strncpy的说明: Copies the first num charac原创 2011-07-22 16:01:42 · 11925 阅读 · 0 评论 -
C++中的虚函数的隐藏规则
在编程中遇到一个奇怪的问题, 在继承类无法调用基类中定义的一个public函数, 编译时总是说函数调用的参数表不正确, 很是郁闷. 在网上搜索之后, 发现原因是: 在基类中有定义有多个同名的函数(例如exec), 但参数表是不同的, 其中一个是虚函数, 在继承类中实现. 这样的话, 在继承类中就无法调用基类中定义的其他exec函数(只有继承类中重载的exec函数才可调用), 这是由C++中的转载 2011-10-24 15:49:33 · 2181 阅读 · 0 评论 -
用户自定义的MKL库的创建
Intel的数学函数库MKL中包含了很多科学计算中需要用到的数学函数,如方程求解,矢量运算,矩阵运算等等。但我们经常为了应用MKL中的很少的几个库函数而不得不把庞大MKL的动态库添加到应用软件的发布包里面,而且mkl中的动态库相互之间的调用关系比较复杂,不小心还会漏掉几个而造成麻烦。 实际上,在MKL中提供了自定义MKL库的方法,可以仅把需要用到的几个函数生成一个独特的动态库文件,发布时原创 2012-01-31 18:36:46 · 3110 阅读 · 0 评论 -
在Qt的Model/View框架中实现Drag-Drop操作
QT的Model/View结构为我们实现各种界面提供了很大的灵活性,同时也比较方便。在这个框架中也支持Drag and Drop的操作,需要实现QAbstractItemModel类的几个虚函数就可以,在QT文档的”Using Drag and Drop with Item Views“中又介绍,但似乎看起来不够明确,我根据自己的实际经验总结一下记录于此。 首先要给对应的View设置dr原创 2011-12-30 12:05:51 · 3830 阅读 · 0 评论 -
Qt5.10中一个关于QList的怪异问题
先看一个例子代码,首先是项目文件qhash.pro,只有一行。SOURCES += main.cpp然后是程序文件main.cpp,#include <QList>#include <QPointF>class Q_DECL_EXPORT PointList : public QList<QPointF>{};int main(int argc, ...原创 2018-05-05 15:26:54 · 2863 阅读 · 0 评论