
Qt C++
丽日湖畔
C Qt Python Nodejs Angularjs
展开
-
发现QHttp一个bug
最近玩QQ农场,准备自己动手写一个外挂,在写的过程中,被QHttp中的header.setContentLength()困惑了好久,所有request需要header信息都模拟好了,QQ的http://ptlogin2.qq.com/login服务器总是返回一个4个字节的数据,所有http应答响应机制全失效,QHttp也没有错误报告。 原来header.setContentL原创 2009-11-24 12:44:00 · 1059 阅读 · 1 评论 -
Qt中使用cout, cin, cerr
转自:http://blog.youkuaiyun.com/fldx/article/details/6238833 在Qt中,用的最多的是GUI页面,但GUI比较慢,有些小的试验不妨先用console,当然在Qt里面可以直接使用cout, cin这些。 不过可能不会兼容Qt自带的一些类型,比如QByteArray等类型。在网上找了一下,发现可以用如下的方法来进行输出。首先需要包含下转载 2011-12-09 16:03:44 · 17366 阅读 · 3 评论 -
Qt中如何让WebView中的WebPage打开target为_blank属性的外部url链接(二级链接)
QWebPage默认是不打开二级连接的,Qt高级编程一书中browserwindow例子无法打开二级链接,点击在本窗口浏览的url能正常打开网页,具备_blank 属性的超级链接点击没有任何反应,很是让我郁闷了一段时间,通过如下语句可以得到解决: webView->page()->setLinkDelegationPolicy(QWebPage::DelegateExternalLinks原创 2011-12-18 07:08:06 · 4714 阅读 · 3 评论 -
关于QStringRef
更多的Qt有关String知识,请看http://blog.youkuaiyun.com/dbzhang800/article/details/6567197QString 为字符串操作提供了各种成员比如mid()、left()、right()。它们都创建会一个新的字符串,因此有一个对在已存在QString的malloc和深拷贝。 与此相反,QString::midRef()、QString::leftR转载 2011-12-16 10:44:37 · 7113 阅读 · 0 评论 -
Qt操作Excel文件知识总结
Qt在windows平台下封装了Activex,可以同VAB中操作Excel一样读取xls文件,因此不支持linux平台。现在这个功能在Qt4.7中也不需要额外的商业许可了。这种方法比较通用,是常规方法,缺点是速度太慢了,如果数据量大,要想提高速度,可以考虑把excel文件另存为csv格式,用逗号分割个单元格的文本方式,直接操作文本文件,速度很快2011年12月16日,在开源网站搜到一个跨平台原创 2011-12-15 14:40:39 · 21728 阅读 · 10 评论 -
Qt鼠标移入时改变QPushButton图标和颜色
ui->pushButton->setStyleSheet("QPushButton:hover{border-image:url(:/pic/logo.png);color:red}");设置flat为true,点击鼠标依然出现按钮本色,增加border-style:outset;后,按钮安静的显示图标,没有任何变化了,实现了网页图标按钮的样子原创 2012-01-07 23:33:23 · 19213 阅读 · 2 评论 -
解决Qt系统托盘上下文菜单无法消失的问题
http://fantasticinblur.iteye.com/blog/902263在Qt demo中可以找到Qt系统托盘的例子(Desktop -> System Tray)。右击系统托盘,可以弹出上下文菜单。然而在window下,弹出的菜单无法消失,必须点击菜单项或者应用程序窗体才会消失。如图: 查阅Qt的BugReport,转载 2012-01-11 16:06:36 · 2653 阅读 · 1 评论 -
绑定 UPX 显著减少 Qt 生成文件体积
我已经测试过了,是很好用UPX 是著名的 开源 可执行文件压缩工具,可以压缩 Linux, Win32, MacOS, DOS... 等系统下的可执行文件体积。 压缩后文件还是可执行的。论坛里有很多人说,Qt生成的文件体积太大,所以 UPX可以帮大忙。如何 自动化的完成这个压缩过程呢?这里仅以 Windows 下的 mingw32 为例。 有兴趣的朋友可以 推而广之。首转载 2012-01-13 19:54:49 · 3463 阅读 · 0 评论 -
Qt如何显示国际音标
注意:使用本人原创帖子请留言,转帖请注明来源最近使用Qt开发了一个词典工具,服务器传回来的单词音标是用html转义字符标示的,在Qlabel或者QTextBrowser中显示音标就成为问题,比如:change[tʃeindʒ]服务器传过来的是[tʃeindʒ],一开始找到一个办法,使用[tʃeindʒ]后,windows7下非常正常,程序经过xp用户原创 2012-01-15 19:25:37 · 4007 阅读 · 0 评论 -
Qt 4.8中使用ActiveQt
曾经在Qt sdk 1.1.4下写过使用excel = new QAxObject("Excel.Application");方法操作excel文件的程序,安装qt 4.8.0后这个程序不能正常编译了,去lib目录下看,里面没有ActiveQt所需的库文件,用Qt Creator 2.4 打开src目录下的activeqt中pro文件,进行debug和release编译,把生成的相应库文件.a原创 2012-01-31 16:31:25 · 7306 阅读 · 0 评论 -
Ubuntu 11.10中安装Qt sdk 1.2
1.从qt官网下载Qt_SDK_Lin32_offline_v1_2_en.run2.alt+ctrl+t 调出linux 终端界面,./Qt_SDK_Lin32_offline_v1_2_en.run 运行安装,提示需要C++ Compiler3.打开软件中心,输入g++ 安装gnu c++编译器4.安装完成,运行Qt creator 终端输出(exe:4933): Gtk-WA原创 2012-03-22 14:12:40 · 1386 阅读 · 0 评论 -
Qt Url访问资源文件
For example, the file path :/images/cut.png or the URL qrc:///images/cut.png would give access to the cut.png file,原创 2012-04-13 11:31:26 · 4219 阅读 · 0 评论 -
Qt工程文件pro资料,qmake高级概念,创建跨平台编译工程
操作符到目前为止,你已经看到在项目文件中使用的=操作符和+=操作符。这里能够提供更多的可供使用的操作符,但是其中的一些需要谨慎地使用,因为它们也许会比你期待的改变的更多。“=”操作符这个操作符简单分配一个值给一个变量。使用方法如下: TARGET = myapp这将会设置TARGET变量为myapp。这将会删除原来对TARGET的任何设置。“+=”操作符这个操作符原创 2012-07-20 22:31:56 · 5075 阅读 · 1 评论 -
编译qt例子工程animatedtiles遇到问题 及解决办法
安装了qt creator 2.0.1 编译example animatedtiles 就遇到问题了,点击run按钮就报告 :: error: collect2: ld returned 1 exit statuscompile Output 窗口内容:Running build steps for project animatedtiles...Configuration unchanged, skipping qmake step.Starting: "D:/MinGW/bin/mingw32-make原创 2010-09-02 14:07:00 · 2550 阅读 · 0 评论 -
继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误
这样 classQQUserItem:publicQTreeWidgetItem集成就发生下列错误debug/moc_QQUserItem.cpp:41:8: error: 'staticMetaObject' is not a member of 'QTreeWidgetItem'../../Qt/4.6.3/include/QtCore/../../src/corelib/kernel/qobject.h: In member function 'virtual const QMetaObject* Q原创 2010-09-11 06:31:00 · 9262 阅读 · 0 评论 -
使用qApp->quit();退出程序需要注意的一点问题
通过qApp->quit();的方式结束程序的运行,一些窗口的析构函数和closeevent事件都得不到执行,程序就结束退出了,如果析构函数或者closeevent事件中安排了自己的功能代码,需要在qApp->quit();执行前显示的使用delete或close。原创 2009-12-27 13:28:00 · 7467 阅读 · 1 评论 -
QT4.6.0+MinGW+Eclipse的安装总结
一、下载软件qt-win-opensource-4.6.0-mingw.exeqt-eclipse-integration-win32-1.6.0.exe、MinGW-5.1.6.exe和eclipse-cpp-galileo-SR1-win32.zip二、软件安装首先运行MinGW-5.1.6 ,我的安装目录是D:/MinGW然后安装qt-win-opensource-4.6.0原创 2009-12-03 17:59:00 · 1521 阅读 · 0 评论 -
程序运行一段时间就自行退出,快把我困惑死了
编写了一个农场外挂,使用了QHttp,外挂功能都实现了,程序运行几十分钟到一个小时不等,就弹出程序异常错误,被系统终止了,eclipse 控制台报告:QWaitCondition: Destroyed while threads are still waitingQObject::killTimers: timers cannot be stopped from another threadA原创 2009-12-04 14:09:00 · 9679 阅读 · 2 评论 -
C++静态成员的初始化,特别是QMap
写一个静态成员类,当作全局变量用,结果QMap类型的怎么搞都不行,最后终于弄明白了,写的这里备忘:Util.h内容#ifndef UTIL_H_#define UTIL_H_#include #include #include #include #include class Util: public QObject {Q_OBJECTpublic: Util(); virtual ~U原创 2009-12-04 20:00:00 · 12141 阅读 · 0 评论 -
Qt中解决乱码的方法
在程序main.cpp中加入以下代码#include int main(int argc, char **argv){ QTextCodec *codec = QTextCodec::codecForName("GB2312"); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCString转载 2009-12-14 16:04:00 · 719 阅读 · 0 评论 -
QT程序的退出逻辑
初学QT编程,程序有一个主窗口,在出窗口显示前有一个登陆窗口,登陆成功后显示主窗口,登陆失败退出程序,根据以往的编程经验,我使用了下面的实现方法:main.cppint main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.login(); return a.exec();}M原创 2009-12-12 10:15:00 · 5005 阅读 · 1 评论 -
QT4.6.0的完整编译命令与编译时间
configure -release -qt-zlib -qt-libpng -qt-libjpeg -qt-libtiff -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-style-plastique -no-dsp -no-vcproj -no-qt3support我的IBM x61 4GB内存 笔记本编原创 2009-12-10 20:38:00 · 1973 阅读 · 0 评论 -
Qt应用程序的图标
程序设计完成了,如何修改exe文件的图标呢,总不能用默认的白板吧,搜来搜去,终于在Qt助手中搜到答案了,粘贴到这里备忘。Setting the Application Icon on WindowsFirst, create an ICO format bitmap file that contains the icon image. This can be done wit原创 2009-12-14 09:53:00 · 1459 阅读 · 0 评论 -
关于在windows下部署发布QT程序的总结
以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows)首先,打开windows控制台,然后,找到vs安装目录下的bin里,执行 vcvars32.bat 这个脚本。执行完之后,vs需要的所有环境变量就已经设置好了。然后,做下面的操作:我的环境是QT 4.3.3 + mingw32-make部署发布QT程序有两种转载 2009-12-14 16:07:00 · 977 阅读 · 0 评论 -
Qt configure 参数
在编译QT前,可加各种参数来定制自己想要的QT库。这对需要裁减QT库的朋友来说非常重要。对于如何编译QT,可以参考:http://hi.baidu.com/agassi%5Fp/blog/item/455833601e4eb14ceaf8f866.html配置参数选项:前面是*号的表示默认参数. +号表示该功能要求被评估,评估成功后才能被接受. -relea转载 2009-12-14 21:16:00 · 3672 阅读 · 0 评论 -
Qt应用程序的静态编译与发布
首先使用confgure -static 编译qt静态库然后在main函数前加入程序使用的plugin,否则图片图标显示不正常,文字乱码#include Q_IMPORT_PLUGIN(qjpeg)Q_IMPORT_PLUGIN(qgif)Q_IMPORT_PLUGIN(qcncodecs)Q_IMPORT_PLUGIN(qico)最后在工程 pro文件中加入库LIBS += D原创 2009-12-16 13:22:00 · 2838 阅读 · 0 评论 -
再议Qt程序在windows下的发布,libgcc_s_dw2-1.dll十分重要
根据网上的资料,发布static版已经成功了,由于我用的的一个dll文件依然依赖qt的核心dll文件,所以编译成static还是需要把qt的几个dll文件打包进去,deploy static版本没啥意义了。今天尝试发布动态链接库版的,结果遇到了了问题。 程序运行目录下建立了imageformats 和codecs目录,并把相关的plugin dll文件拷贝进去,程序运行依然没法显示原创 2009-12-20 15:44:00 · 18967 阅读 · 6 评论 -
安装qt-eclipse-integration-win32-1.6.0.exe could not register qtcppproparser.dll
重新安装了一边windows xp 操作系统,打上sp3补丁,昨天用了一下午的时间进行configure -debug-release 编译,今天上午安装eclipse开发环境,允许qt-eclipse-integration-win32-1.6.0.exe 碰上could not register qtcppproparser.dll,接下来还有几个dll也不能注册。搞不懂什么原因造成的。运原创 2009-12-23 09:04:00 · 2665 阅读 · 7 评论 -
Qt json
为了避免重造所有的轮子,我google了一下Qt上已经实现的JSON解析器。gitorious上有个qjson,但是据说过于庞大;Qt5已经在QtCore中支持JSON解析了,不过我目前没有时间研究如何挖出这部分代码(顺便吐槽一下Qt5,好像分布在多个地方,要很麻烦的才能clone下来)。另外有人在stackoverflow上建议一个轻量级的JSON解析器,其实就是一个类,qt-json。看起来好转载 2012-07-20 22:57:03 · 3170 阅读 · 0 评论