现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2014-05-13 05:59 工业·编程 ⁄ 共 3271字 暂无评论
文章目录 相对路径 工作目录 进程内修改工作目录 回到Qt 在Qt论坛经常看到网友抱怨: QPixmap("dbzhang800.png") 加载图片不成功 QFile("dbzhang800.txt") 打开文件失败 ... 遇到这种问题,我一般回答:请注意区分”进程的工作目录 "与”程序所在的目录” 。但这种回答似乎还是显得太苍白了,既然如此,整理一下吧。 用到了相对路径,你清楚&...
阅读全文
文章目录 不指定链接子系统 指定windows子系统 指定console子系统 入口函数 Qt指定链接子系统 windows.prf QMAKE_LIBS_QT_ENTRY QtTest模块 from邮件列表 考虑一个简单的程序代码,代码中定义两个入口函数:main和WinMain(不要觉得两个同时出现很奇怪),下面测试时 源码3种情况 :只有main、只有WinMain、二者同时存在 链接子系统3中情况 :不指定子系统、指定windows...
阅读全文
文章目录 *.pro *.pri *.prf *.prl 尽管每次和cmake对比起来,我们总是说 qmake 简单、功能少。但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧: 不是太清楚CONFIG等变量到底如何起作用的 用过的qmake内置变量和函数不超过20个 看Qt Creator源码或者QtSolution等库中自己使用的 *.pro 文件就想看天书一样 本文只能抓住一条线,简单介绍一下 *.pro...
阅读全文
2014-05-13 05:35 工业·编程 ⁄ 共 1579字 暂无评论
文章目录 QFtp的失误 数据流 处理中文 ftp 是一个古老的协议,ftp 在编码问题上相当笨,笨到对编码一无所知。 因为设计上如此,在现在的协议下,无法从根本上解决。所以我们使用ftp是将不可避免地遇到编码问题。 不管你是那种客户端,如果你不知道服务器采用的编码,你只能去猜测服务器采取何种编码,所以不可避免会有乱码问题(如果你用ftp,相信你深有感受)。QFtp 遇...
阅读全文
在QTimer源码分析(以Windows下实现为例) 一文中,我们看到了Qt在windows下对计时器的使用: 对于间隔为零的情况,Qt并没有动用系统的计时器 对于间隔非零的情况 间隔小于20ms 且系统支持多媒体计时器,则使用多媒体计时器 否则,使用普通计时器 Qt 的这种策略应该能很好地满足我们的需求了,但qtcn上一个网友还是比较期待自己直接调用系统的多媒体计时器。既然这样,自己还是尝试写写吧,写一个自己的Timer类 代码 ...
阅读全文
黑客一词源自英文hacker,最初曾指热心于计算机技术、水平高超的电脑玩家,尤其是程序设计人员,但随着互联网行业的逐渐成熟,黑客的属性也分为白帽子和黑帽子。 方小顿就是白帽黑客中的佼佼者。他是国内著名安全组织80sec的成员。也曾经是百度安全专家,负责对黑客袭击百度网站的抵御工作,曾发现多个知名底层和脚本安全漏洞。 随后他又创立了网络漏洞报告平台——乌云,作为一个厂商和安全研究者之间的安全问题反馈平台,乌云提...
阅读全文
singleShot(0, ...)是表示下面的哪种情况呢? 1. 退出当前函数,回到事件循环的时候立即执行,忽略其它消息。 2. 把对应的QTimerEvent放到消息队列的最后,然后依次处理消息。 3. 把这个这个singleShot对应的QTimerEvent放到最后。依次处理消息。但是如果有新的消息到达时,它们会排到QTimerEvent的前面。 其中,2是假定消息队列没有优先级。1、3假定消息队列有优先级,但是1假定QTimerEvent最优先,而3假定QTimerEvent最不优先...
阅读全文
QPushButton,很常见很简单的一个东西。可以今天还是被它的一个default属性弄晕了。QDialog中添加一个QDialogButtonBox,然后其中始终有一个button始终处于default状态,死活去不掉... 到底怎么了... 从头理理了,于是便有了本文 focus 与 default QPushButton 的这两个属性都影响其外观,如下图所示,在vista系统下   外观 特性 focus 按钮有虚框 按下“空格”触发按钮点击(与是否QDialog无关) default...
阅读全文
不少人有给程序添加全局热键的需求。网上随便一搜,就能找到不少介绍windows下如何实现的方式: 首先: 使用 RegisterHotKey和 UnregisterHotKey 注册和反注册热键 其次: 在事件全局过滤器 winEventFilter 中相应热键 但是涉及其他平台的,中文资料中提到的似乎不多。 libqxt 其实Qt第三方的库 libqxt 中已经给出了一个比较好的跨平台的解决方案,这就是 QxtGlobalShortcut。 所以,只要你使用这个第三方库就可以了。 可是...
阅读全文
2014-05-08 23:05 工业·编程 ⁄ 共 1270字 评论 1 条
Qt 是事件驱动的,所以当你用Qt的时候,几乎时时刻刻和 QEventLoop 打交道、,只是你可能没有意识到: QCoreApplicaton::exec() QApplication::exec() QDialog::exec() QThread::exec() QDrag::exec() QMenu::exec() ... 在前面列出的这些常见函数的背后,都有各自的QEventLoop,可能是我们很少有机会想到自己显式使用QEventLoop的缘故吧,对这个类似乎总是有些陌生。 在 如何让 Qt 程序的 Sleep 和 QDialog 模态对话框...
阅读全文