QT
文章平均质量分 78
RichardXG
这个作者很懒,什么都没留下…
展开
-
Qt 模型视图编程基础 model/view programming
QT4介绍了一系列项视图(item view)类,它提供了一个模型视图(model/view)结构来管理数据和呈现用户的关系。对于小部分情况,我们不需要动用模型,只通过项视图类就可以完成工作(QListWidget,QTableWidget,QTreeWidget)。例如使用QTableWidget,它其中包含QTableWidgetItem等,可以完成少量数据及操作。但是原创 2013-01-23 15:53:25 · 5735 阅读 · 0 评论 -
Qt Tab Dialog Example 看看看~
Tab Dialog例子展示怎么使用QTabWidget构造一个标签对话框。本例由一个TabDialog类组成,它提供了三个标签栏,每一个都包含了有关打开文件的信息,还提供了两个标准按钮,用于accept和reject对话框的内容。QTabWidget类提供一个栈型的标签组件。它提供一个QTabBar和一个“页区域(page area)”它用来展示每页中相关的标签。原创 2013-01-25 02:15:26 · 8554 阅读 · 5 评论 -
Qt Pixelator Example 看看看~
Pixelator也是个自定义委托的例子,这是个挺有意思的例子,好好看看!这个例子展示了怎么用自定义委托去修改标准视图外观。为了完成这个任务,我们需要实现下面的组件。1. 一个在图片做为数据项的情况下表示每个像素的模型,在这模型里,每个项都包含一个亮度值一致的像素。2. 一个自定义委托,它使用被模型提供的信息去表示每个作为白底黑圆的像素,这些圆的半径和它像素点的黑度一致。意原创 2013-01-24 01:09:45 · 2093 阅读 · 0 评论 -
Qt Border Layout Example 看看看~
Border Layout 例子将展示如何创建自定义布局管理器。Border Layout是通过设置自定义的West, North, South, East, Center的方位来设置布局。通过上一篇博客已经有过一个例子简单介绍了如何自定义布局管理器。通过本例子可以学到跟多的细节。int main(int argc, char *argv[]){ QApplication原创 2013-01-26 18:09:17 · 4406 阅读 · 0 评论 -
Qt 布局管理器
关于布局管理器,它是Qt提供的自动安排子部件位置的东西,布局管理可以为我们节省很多对位置的调节工作。基本的布局管理器有四种:Horizontal, Vertical, Grid, 和Form 布局管理器。这些在前面的例子都能看到是如何使用的。Qt的帮助文档里也有一个专门讲他们的例子:Basic Layouts。 QHBoxLayout, QVBoxLayout, QGridLayout,和原创 2013-01-26 16:14:32 · 9691 阅读 · 1 评论 -
Qt SVG Generator Example 看看看~
首先看程序运行后的效果:可以改变shape,Color,Background,点击Save As将图片保存成SVG格式文件到任意位置。该例子包括了两个主要的类:Window和DisplayWidgetWindow类包含了一个Qt Designer UI,用它来开发了主界面的UI,布局,信号槽以及绑定关系。UI文件里头displayWidget是来自QWi原创 2013-02-09 15:22:08 · 4527 阅读 · 1 评论 -
Qt SVG module
SVG(scalable vector graphics可缩放矢量图形)是基于可拓展标记语言(XML),用于描述二维矢量图形的一种图形格式。由W3C制定。是一种和图像分辨率无关的矢量图形格式。它与其他的图像格式相比优势在于:可以通过文本编辑器创建修改;可以被搜索、索引、脚本化或压缩;可伸缩;可以被任何分辨率下高清晰打印;可在图像质量不下降的情况下被放大。使用QT SVG模块需要在.pro文原创 2013-02-09 15:17:11 · 16460 阅读 · 3 评论 -
Rich Text Processing富文本处理
Scribe框架提供一系列读和控制富文本文档的类。Qt4提供像QTextDocument类,他能够为开发提供创建和修改结构的富文本文档。文档内的信息通过两个补充的接口存取:1. 基于光标的接口用来编辑。2. 可读的分层接口它提供文档结构的高层次预览。使用前者的优点是他可以使用操纵符编辑,提供了一个很好的用户交互接口,不会损失潜在的文档结构。而后者的接口在查询和文档展示时最有用。原创 2013-02-13 14:11:36 · 12104 阅读 · 1 评论 -
Qt SVG Viewer Example 看看看~
Qt提供在widgets和其他paint device上渲染和展示SVG的类,本例就允许用户载入SVG文件并在QGraphicsView上用QGraphicsSvgItem显示它。并且例子还可以选择渲染者,QGraphicsView可以用QWidget或QGLWidget作为视口。也可以使用第三方渲染模型通过QImage。 程序运行如图:renderer可以选择:Native,Open原创 2013-02-10 18:56:55 · 9462 阅读 · 4 评论 -
Qt Graphics View Framework 图形视图框架
QT的2D绘图我们使用QPainter实现少量绘图是很理想的,但是如果是要绘制大量的2D图形并且需要能够控制管理时就会显得力不从心。好在QT视图体系提供了QGraphics View Framework的框架。使用这个框架可以将各图形项进行单独或分组的控制管理。 它包含三个大类:QGraphicsItem 项类(或者叫做图元类),QGraphicsScene 场景类,和 QGraphi原创 2013-02-10 17:52:18 · 10040 阅读 · 0 评论 -
Qt Rich Text Example 看看看~
帮助文档中有四个Rich Text的例子:Calendar, Order Form, Syntax High Lighter, Text Object。本博客展示前两个。Calendar这个例子很简单,MainWindow类里添加一个QTextBrowser私有对象,并将此对象默认关联的QTextCursor对象进行编辑。添加Table和Frame。本例中使用到了QD原创 2013-02-16 00:12:32 · 7162 阅读 · 0 评论 -
Qt License Wizard Example 看看看~
Class Wizard Example中是讲的线性结构的向导,License Wizard Example是复杂结构向导的一个简单例子。 例子由下面两部分组成:1. LicenseWizard,它继承自QWizard,实现了一个非线性结构的5页向导。向导指导用户通过选择许可协议的程序。2. IntroPage,EvaluatePage,RegisterPage,Details原创 2013-01-25 00:33:11 · 3985 阅读 · 0 评论 -
Qt Class Wizard Example 看看看~
本例展示怎么用QWizard实现线性向导。例子通过向导为我们在指定目录地点生成了c++代码。大多数的向导都是线性结构的,一页跟着一页,直到最后一页。一些向导也可能更复杂,以致根据用户输入的信息提供不同的漫游路径。之后有一个License Wizard的例子展示了这样的向导。类向导例子由下面的类组成:1. Class Wizard,继承自QWizard原创 2013-01-24 18:33:10 · 8238 阅读 · 0 评论 -
QT4.8.4 vs2010安装和测试
QT4.8在windows上的配置不像以前那样还需要自己配置环境变量了,只需要傻瓜式的几部下载和配置就可以完成准备:1. VS20102.qt_win_opensource_4.8.4_vs2010.exe: http://qt-project.org/downloads3.qt_vs_addin_1.1.11.exe: http://qt-project.org/download原创 2013-01-08 13:48:56 · 16489 阅读 · 2 评论 -
QT Screenshot Example 看看看
Screenshot Example展示了怎么用QApplication和QDesktopWidget获取桌面的截屏。它也展示了怎么用QTimer提供一个单发时间(single-shot timer)、怎么样为了确保应用程序没有数据丢失地调整大小而重新实现QWidget::resizeEvent()事件处理器。通过程序,使用者可以获取自己桌面的截图。其中有两个设置:1. 延迟截屏时间,原创 2013-01-23 02:24:25 · 2944 阅读 · 0 评论 -
QT Draggable Text Example 看看看~
Draggable Text例子展示了怎么样拖放文本数据。本例程序可拖动放置单个Label控件到本程序任意位置。也可以将各个控件拖到其他应用程序中(如office软件),将显示label上的单词,也可以将其他应用程序中文本拖放到其中,他将拆分并显示为一个个单词的label。项目文件有两个主要类:DragLabel DragWidget先看main.cpp:原创 2013-01-21 00:28:28 · 1963 阅读 · 0 评论 -
Qt拖放 drag and drop
拖放提供一个应用程序之间传递信息的一种简单的可视化机制。拖放机制类似于剪切和粘贴机制。拖放操作同时被QT项目视图和图形视图框架支持。QApplication提供了两个拖放相关的方法:1. QApplication::startDragTime。它描述了用户按下鼠标多长时间开始拖放操作。2. QApplication::startDragDistance。它描述了用户原创 2013-01-20 15:27:05 · 15960 阅读 · 0 评论 -
QT容器类
QT不仅支持C++的STL模板库,同时自己也定义了一套容器类和与之操作的算法类,使用QT定义的这一套库,可以使在各个平台的表现相同。QT的这些容器被设计为更轻便,更安全和更容易使用。容器类是隐含共享(implicitly)的,可重入(reentrant)的和线程安全的。为容器遍历提供了两种迭代器(java-style,STL-style),并且QT提供了foreach关键字,更加方便元素遍历。原创 2013-01-17 18:53:32 · 45713 阅读 · 2 评论 -
QT5 信号槽连接机制
信号槽是QT最重要的机制之一,QT5中对这一机制进行了升级,使之更好用。首先看下这个例子:#include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QPushButton button("Quit"); // qt 5.0 signal-slot原创 2013-01-15 15:59:44 · 5998 阅读 · 0 评论 -
QT 隐式共享 Implicit Sharing
很多QT中的类都是隐式共享的,它在作为参数传递时既安全又有效率。上一讲中提到了一个implicit sharing的问题,说QT容器类是隐式共享的。文档中讲了一个这样的问题:一些Qt函数返回一个容器,如果想使用STL风格的迭代器遍历某函数的返回值,就必须复制此容器并且遍历这个副本,例如,下面的代码给出了如何遍历由QSplitter::sizes()返回的QList的正确方式。 //原创 2013-01-17 23:44:07 · 3482 阅读 · 0 评论 -
QT Spin Box Delegate Example 看看看~
Spin Box Delegate 展示了怎么为自定义的委托创建一个编辑器。委托用来渲染和编辑视图中不同项的,一般多数情况下我们用视图中的默认委托就够了,如果想要更好的控制有关的项显示,通常需要我们可以自定义模型:在data()重新实现中,我们可以处理Qt::FontRole,Qt::TextAlignmentRole,Qt::TextColorRole和Qt::B原创 2013-01-23 18:06:07 · 5178 阅读 · 1 评论 -
QT System Tray Icon Example 看看看~
System Tray Icon Example展示了怎么样用菜单和弹出消息添加一个图标到桌面环境的系统托盘。现代操作系统通常在桌面提供一个特别的区域,称为系统托盘或通知区域。在这里长时间运行的应用可以展示图标和短信息。 本例子只有一个类:Window,提供应用程序窗口和关联的图标。那个编辑器允许用户选择喜欢的图标和设置冒泡信息类型。用户也可以编辑信息的标题和内容。最后,这原创 2013-01-23 02:26:51 · 7080 阅读 · 0 评论 -
Qt Draggable Icons Example 看看看~
Draggable Icons Example例子展示了在同一个应用程序的窗体部件之间如何拖放图像数据。(关于一些拖放的基本知识在我上一篇博客有介绍。)例子程序功能是这样的,当我们在一个自定义widget(图中两个相同大小的框框就是自定义的widget)内拖动一个图片,会将图片位置改变。当我们将一个自顶一个widget中的图片拖动放置到另外一个中时,将会复制图到另外一边。原创 2013-01-20 18:51:14 · 2308 阅读 · 0 评论 -
Qt Drag and Drop Puzzle Example 看看看~
这个例子展示使用拖放的API来完成一个拼图的解密游戏。如图,将左边的拼图块拖放到右边,并完成恢复原图的样子即完成了游戏。例子中用到了一个QSizePolicy的类,它是用来描述横向和纵向大小策略的布局属性的。setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));它会影响窗体的布局原创 2013-01-25 17:48:10 · 5665 阅读 · 0 评论