Welcome 微信登录

首页 / 软件开发 / C++

Qt学习之路(6):API文档的使用

Qt学习之路(6):API文档的使用

Qt学习之路(6):API文档的使用2010-03-03 51cto FinderCheng今天来说一下有关Qt API文档的使用。因为Qt有一个商业版本,因此它的文档十分健全,而且编写良好。对于开发者来说,查看文档时开发必修课之一——没有人能够记住那么多API的使用!在Qt中查看文档是一件很简单的事情。如果你使用QtCreator,那么左侧的Help按钮就是文档查看入口。否则的话,你可以在Qt的安装目录下的bin里面的assist...
运行时和编译时的安全性检查

运行时和编译时的安全性检查

运行时和编译时的安全性检查2011-04-12摘要:说明 Visual C++ 编译器和库在帮助开发人员提高其应用程序可靠性和安全性方面的功能。样例应用程序中包含六个测试,用来模拟程序员可能会犯的某些错误,或者模拟对未采取任何保护措施的程序进行恶意输入所产生的某些后果:1.通过多次运行循环程序覆盖缓冲区。由于只定义了一个缓冲区,因此覆盖缓冲区将影响包含返回地址的堆栈的剩余部分。2.当另一个缓冲区也在堆栈中时覆盖缓冲区。3.不覆盖缓冲区。4.使用未初始化的变...
Qt学习之路(7):创建一个对话框(上)

Qt学习之路(7):创建一个对话框(上)

Qt学习之路(7):创建一个对话框(上)2010-03-03 51cto FinderCheng首先说明一点,在C++ GUI Programming with Qt4, 2nd中,这一章连同以后的若干章一起,完成了一个比较完整的程序——一个模仿Excel的电子表格。不过这个程序挺大的,而且书中也没有给出完整的源代码,只是分段分段的——我不喜欢这个样子,我想要看到我写出来的是什么东西,这是最主要的,而不是慢慢...
用转换操作符保护代码的安全

用转换操作符保护代码的安全

用转换操作符保护代码的安全2011-04-12 MTT工作室 Danny Kalev摘要:不经意的对象转换常常严重地危害代码的安全。幸运的是,转换操作符允许你根据 实际情况来启用和禁用转换,这有助于避免出现病态行为。某些对象必须要被转换成 低级形式,反之亦然。例如,使用 std::string 对象的程序员必须将之转换为 char 指针, 请看下面例子:string inf="mydata.txt";ifstream infile (i...
用完成端口开发大响应规模的Winsock应用程序

用完成端口开发大响应规模的Winsock应用程序

用完成端口开发大响应规模的Winsock应用程序2011-04-12刘西齐通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则 也就可以了——创建和连接一个套接字,尝试进行连接,然后收发数据。真正难 的是要写出一个可以接纳少则一个,多则数千个连接的网络应用程序。本文将讨论如何通过 Winsock2在Windows NT 和 Windows 2000上开发高扩展能力的Winsock应用程序。文章主要的 焦点在...
Qt学习之路(9):深入了解信号槽

Qt学习之路(9):深入了解信号槽

Qt学习之路(9):深入了解信号槽2010-03-03 51cto FinderCheng槽函数和普通的C++成员函数没有很大的区别。它们也可以使virtual的;可以被重写;可以使public、protected或者 private的;可以由其它的C++函数调用;参数可以是任何类型的。如果要说区别,那就是,槽函数可以和一个信号相连接,当这个信号发生时,它可以被自动调用。connect()语句的原型类似于:connect(sender, SIGNAL(si...
关于对象生命历程的会话

关于对象生命历程的会话

关于对象生命历程的会话2011-04-19宋科(译者注:我从网上看到这篇文章的原文,非常喜欢作者的写作风格,于是就利用业余时 间将它翻译出来,并贴到网上,希望大家可以从中受益,因为我没有和作者或者这篇文章的 版权所有者联系以取得这篇文章的版权,所以这篇中译文的版权不应归我所有,而且我未从 中获得任何利益!而且,我对原作者及其版权所有者的敬仰有如涛涛江水,所以我绝没有侵 犯原作者的任何意图。当然,要说“利益”还是有的,就是我加深了如下...
Qt学习之路(10):Meta-Object系统

Qt学习之路(10):Meta-Object系统

Qt学习之路(10):Meta-Object系统2010-03-03 51cto FinderCheng前面说过,Qt使用的是自己的预编译器,它提供了对C++的一种扩展。利用Qt的信号槽机制,就可以把彼此独立的模块相互连接起来,不需要实现知道模块的任何细节。为了达到这个目的,Qt提出了一个Meta-Object系统。它提供了两个关键的作用:信号槽和内省。面向对象程序设计里面会讲到Smalltalk语言有一个元类系统。所谓元类,就是这里所说的Meta-Cla...
用函数模板实现和优化抽象操作

用函数模板实现和优化抽象操作

用函数模板实现和优化抽象操作2011-04-19 MTT工作室 Danny Kalev摘要:本文介绍函数模板的概念、用途以及如何创建函数模板和函数模板的使用方 法......在创建完成抽象操作的函数时,如:拷贝,反转和排序,你必须定义多个版 本以便能处理每一种数据类型。以 max() 函数为例,它返回两个参数中的较大者:double max(double first, double second);complex max(complex first, co...
Qt学习之路(11):MainWindow

Qt学习之路(11):MainWindow

Qt学习之路(11):MainWindow2010-03-03 51cto 尽管Qt提供了很方便的快速开发工具QtDesigner用来拖放界面元素,但是现在我并不打算去介绍这个工具,原因之一在于我们的学习大体上是依靠手工编写代码,过早的接触设计工具并不能让我们对Qt的概念突飞猛进……前面说过,本教程很大程度上依照的是《C++ GUI Programming with Qt4, 2nd Edition》这本书。但是,这本书中接下来...
用Windows消息循环实现消息延迟和合并

用Windows消息循环实现消息延迟和合并

用Windows消息循环实现消息延迟和合并2011-04-19最初的解决方法是为计算消息设定时间间隔:当一个计算消息到达时,开始计时,在一定时间间隔内,接受到的计算消息一概不处理。由于时间间隔没法给定,也没法进行预算。时间间隔设置长了,如果两次操作过快,就会漏算;设置时间短了,又无法解决计算此数过多的问题。所以这个解决方法只能算是延缓了问题,而不能算是解决问题。后来,不知道什么时候灵机一动,想到了下面的方法,完美的解决了问题。这对于我这个菜鸟来说,还是有纪...
Qt学习之路(12):菜单和工具条

Qt学习之路(12):菜单和工具条

Qt学习之路(12):菜单和工具条2010-03-03在前面的QMainWindow的基础之上,我们开始着手建造我们的应用程序。虽然现在已经有一个框架,但是,确切地说我们还一行代码没有写呢!下面的工作就不那么简单了!在这一节里面,我们要为我们的框架添加菜单和工具条。就像Swing里面的Action一样,Qt里面也有一个类似的类,叫做QAction。顾名思义,QAction类保存有关于这个动作,也就是action的信息,比如它的文本描述、图标、快捷键、回调函...
GDI和GDI+对象的相互转换

GDI和GDI+对象的相互转换

GDI和GDI+对象的相互转换2011-04-19Live当然希望可以使用GDI+来完全代替GDI,再不济也只需要从GDI对象转到GDI+对象。但是就 是有那么些工程,又要新技术新特性、又希望快速开发、又不肯丢弃旧版本的已有的功能。 没办法,只能缝缝补补,咔哐碙啌...一、CDC到Graphics只要这样:Graphics g(pDC->GetSafeHdc());//只要能构造CDC句柄的MFC对象都可以 //CClientDC、CPaintDC...
Qt学习之路(13):菜单和工具条(续)

Qt学习之路(13):菜单和工具条(续)

Qt学习之路(13):菜单和工具条(续)2010-03-03前面一节我们已经把QAction添加到菜单和工具条上面。现在我们要添加一些图片美化一下,然后把信号槽加上,这样,我们的action就可以相应啦!首先来添加图标。QAction的图标会显示在菜单项的前面以及工具条按钮上面显示。为了添加图标,我们首先要使用Qt的资源文件。在QtCreator的项目上右击,选择New File...,然后选择resource file。然后点击next,选择好位置,Fi...
Qt学习之路(14):状态栏

Qt学习之路(14):状态栏

Qt学习之路(14):状态栏2010-03-03今天的内容主要还是继续完善前面的那个程序。我们要为我们的程序加上一个状态栏。状态栏位于主窗口的最下方,提供一个显示工具提示等信息的地方。一般地,当窗口不是最大化的时候,状态栏的右下角会有一个可以调节大小的控制点;当窗口最大化的时候,这个控制点会自动消失。Qt提供了一个QStatusBar类来实现状态栏。Qt具有一个相当成熟的GUI框架的实现——这一点感觉比Swing要强一些&mdash...
Pointers与References(二)

Pointers与References(二)

Pointers与References(二)2011-04-19肖德时16.4 赋值pointers和references.就像你看到使用“寻址”操作符的语法一样,一个指针被赋值得到“寻 址”操作符的返回值。因为“寻址”操作符的返回值就是一个指针,所有事 情都考虑过了,你的代码应该通过编译。对于赋值给一个指针,它必须在内存中得到一个地 址,不然编译器将给你提示错误。int x;int*...
Qt学习之路(15):Qt标准对话框之QFileDialog

Qt学习之路(15):Qt标准对话框之QFileDialog

Qt学习之路(15):Qt标准对话框之QFileDialog2010-03-03下面还是按照我们的进度,从Qt的标准对话框开始说起。所谓标准对话框,其实就是Qt内置的一些对话框,比如文件选择、颜色选择等等。今天首先介绍一下QFileDialog。QFileDialog是Qt中用于文件打开和保存的对话框,相当于Swing里面的JFileChooser。下面打开我们前面使用的工程。我们已经很有先见之明的写好了一个打开的action,还记得前面的代码吗?当时,我...
<< 101 102 103 104 105 106 107 108 109 110 >>