关闭

Qt之HTTP上传/下载

简述 在前面章节中我们讲述了关于Qt显示网络图片的内容,比较简单,因为图片一般都比较小,下载到本地速度比较快,所以基本不需要什么特殊处理,本节我们主要针对HTTP实现上传/下载进行详细的讲解与分享,包括:用户认证,实时获取下载大小、速度、剩余时间信息等。 首先看一下即将用到的公式: 文件剩余大小 = 文件总大小 - 文件已下载大小  平均速度 = 文件已下载大小 / 文件已下载...
阅读(28) 评论(0)

Qt之FTP上传/下载

简述 为了方便网络编程,Qt 提供了 Network 模块。该模块包含了许多类,例如:QFtp - 能够更加轻松使用 FTP 协议进行网络编程。 但是,从 Qt5.x 之后,Qt Network 发生了很大的变化,助手中关于此部分描述如下: The QFtp and QUrlInfo classes are no longer exported. Use QNetworkAc...
阅读(26) 评论(0)

WINDOWS特殊系统路径获取方法

做WIN下面的开发,不可避免要用到一些系统路径,在开发 FreeEIM 时,用到的一些代码,比较完整的 WINDOWS 系统路径获取方法。 [cpp] view plain copy #include    #include    #include       int main()   {       setlocale(LC_ALL, "c...
阅读(51) 评论(0)

Qt之使用Google Breakpad捕获程序崩溃报告(dump文件)

一、简述 在上一篇文章 Google Breakpad在windows下捕获程序崩溃报告中,简单介绍了Google Breakpad,同时讲解了如何如何获取Google Breakpad源码、环境的配置,以及自带demo的测试过程,今天就讲述一下如何使用Google Breakpad来帮我们自己的程序在崩溃的时候获取dump文件。下面我用Qt的程序为例,其他项目建立过程都基本类似,而且G...
阅读(18) 评论(0)

Google Breakpad在windows下捕获程序崩溃报告

一、简述 Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,支持Linux、mac、solaris、windows。 通俗一点来讲,我们可以借助Google breakpad来捕捉程序程序崩溃的错误报告。即在程序崩溃时会生成dump文件。而dump文件是进程的内存镜像,能够保存程序中断时的进程状态,让我们在程序崩溃后能够了解具体原因。 关于如何使用Goog...
阅读(18) 评论(0)

Qt之Windows下禁用和启用中文输入法

在密码框输入密码的时候,一般要输入字母、数字或者其他特殊字符,如果当前输入法是中文输入法,比如说搜狗拼音中文,需要手动切换成英文输入法,非常麻烦。如果能在密码框获取到焦点的时候,将输入法切换到美式英语;在密码框失去焦点的时候,将输入法还原到之前的状态,就能解决该问题了。         只使用Qt是无法实现禁用和启用中文输入法的,需要调用Windows API 1.先包含相关的头文件和库...
阅读(13) 评论(0)

Qt动态多语言的实现

Qt对于多语言提供了QTranslator的接口,只要在程序启动时进行安装,然后动态改变QTranslator的加载即可。下面是效果图(英文/简体/繁体)。 选择不同的语言,界面会随着切换。这要如何实现呢?QTranslator会加载*.qm的语言档,而该文件是从*.ts转换而来的。所以我们首先要做的是制作*.ts档。步骤如下 1.在项目的Resource Files的位置...
阅读(27) 评论(0)

C++之善用PIMPL技巧

PIMPL(Pointer to Implementation)这个手法可以解決/改善C++编码时常碰到的2大问题。 1.class增加private/protected成员时,使用此class的相关 .cpp(s) 需要重新编译。 2.定义冲突与跨平台编译 Q1.class增加private/protected成员时,使用此class的相关 .cpp(s) 需要重新编译 ...
阅读(38) 评论(0)

Qt之如何获取主窗口的指针

QMainWindow* getMainWindow() { foreach (QWidget *w, qApp->topLevelWidgets()) if (QMainWindow* mainWin = qobject_cast(w)) return mainWin; return nullptr; }...
阅读(24) 评论(0)

Qt之自绘标题和边框

在QT中如果想要自绘标题和边框,一般步骤是:   1) 在创建窗口前设置Qt::FramelessWindowHint标志,设置该标志后会创建一个无标题、无边框的窗口。   2)在客户区域的顶部创建一个自绘标题栏。   3)给窗口绘制一个背景作为边框。   4)如果想要鼠标拖动效果,可以在WM_NCHITTEST消息中返回HTCAPTION,具体方法百度这里不再详述。 ...
阅读(66) 评论(0)

什么是Desktop Window Manager(dwm.exe)? 它为何运行?

你几乎毫不犹豫的来阅读这篇文章是因为你也觉得奇怪, 为什么这个 dwm.exe 进程占用的内存总是比你想象中的多得多, 你也好奇究竟它是什么, 幸运的是我们有答案告诉你. 那么它是什么?         Desktop Window Manager (dwm.exe) 是窗口管理器的组成部分, 是它给了你Vista系统(同 Windows7)非常棒效果: 设置窗体的透明度, 动态的任务...
阅读(67) 评论(0)

配置QSslConfiguration让客户端程序跳过本地SSL验证

大家下午好哦。今天我们在重新制作我们萌梦聊天室的时候,出现了这样的问题。那就是我们的客户端能够对qtdream.com服务器进行登录,但是不能对localhost服务器(也就是本机啦)进行登录。这究竟是什么原因呢? 因为这个问题是在我们引入了https的时候出现的,所以我们把原因定位到为什么会导致https出现问题。后面我看到了QNetworkRequest这个类,看到了里面有这样一个函数:...
阅读(18) 评论(0)

Qt之截图非顶层窗

我们知道QT里截图的代码很简单,很多例子都是截取桌面,或截取整个屏幕。  那如果要截取指定窗口的画面呢?即使该窗口不在桌面最顶层显示。我们也能截到它的图片吗?  当然可以,只要我们拿到该窗口的句柄就可以截图了。 下面就是获取窗口句柄的基本API。  获取Windows下所有窗口的句柄,窗口标题,窗口类型等: #include enum window_search_mode { ...
阅读(64) 评论(0)

知道这20个正则表达式,能让你少写1,000行代码

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。 正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码: [plain] view plain copy var reg...
阅读(63) 评论(0)

正则表达式全部符号解释

字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的...
阅读(37) 评论(0)

回调函数的C++实现

Callback最本质的特征包括两点:注册和触发 C++中如何将类成员函数作为回调函数使用,必须是静态方法吗? 必须是静态成员函数或者全局函数来实现回调函数 大概原因是普通的C++成员函数都隐含了一个传递函数作为参数,即this指针,C++通过传递this指针给成员函数从而实现函数可以访问C++的数据成员。由于this指针的原因,使得一个普通成员函数作为回调函数时就会因为隐含...
阅读(172) 评论(0)

一个完全的新人如何搭建自己的个人网站

首先,申明下本文所指的新人是指会上网站看网页,会自己聊QQ,会在新浪、网易等平台上写博客的人。当然你要说这个只要会上网的人都会了,是的,我所指的新人就是会上网的人。所以本文的技术含量不会很高,高手可以直接忽略了。 下面我们开始进入正题。搭建一个个人网站需要三个必备的因素,即:域名、服务器、程序。如果把一个网站比作一家商店,那么域名就好比店名或者商标,服务器就比如店面,程序就是整个商店的运作系...
阅读(44) 评论(0)

Qt函数quit(),exit()以及close()的区别

使用QT编辑界面,其中带来很大方便的一点就是Qt中自带丰富的、种类齐全的类及其功能函数,程序员可以在编辑程序的过程中简单地直接调用。关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit()以及close()。      首先说明窗口退出时,系统提示对话框的代码编辑。对主程序的退出,可以调用成员函数exit(),同时也可以调用槽quit(),二者此时都能起到关闭应用...
阅读(188) 评论(0)

加快qt编译:设置默认多核编译qt

使用环境:win7 + QT Creator 4.2.1 + QT5.8 + MinGW5.3.0 32bit 设置默认多核编译qt  来源:http://stackoverflow.com/questions/8860712/setting-default-make-options-for-qt-creator 单个项目设置多核编译:作者 学海方舟:加快QT工程编译速度:...
阅读(72) 评论(0)

多线程多少算多?

最近在抓软件的性能优化。团队里有位同学指出,我们的程序一启动就创建了60个线程,太多了,应该控制一下。也有同学提出不同意见,说线程多不是问题,别把它当成指标,盯住内存、CPU才是正经。使用多线程,为的是提高执行效率;那么,是不是线程越多越好呢? 假设我们有100个下载任务,我们可以有以下3种实现方法: 使用一个线程,依次执行100个下载任务;使用100个线程,每个线程执行一个下...
阅读(24) 评论(0)
342条 共18页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:494511次
    • 积分:8929
    • 等级:
    • 排名:第2350名
    • 原创:154篇
    • 转载:188篇
    • 译文:0篇
    • 评论:302条
    博客专栏
    最新评论