
跨平台-QT
文章平均质量分 71
henreash
Think Differently.
展开
-
Qt新动向
刚浏览了一下digia的网站,看到一个关于Qt支持android进展的blog。预计2013年初的Qt5版本中会发布android版,很不错,到时候在尝尝鲜。博客上说现在已经有很多人在使用Qt for android版本了,呵呵,期待啊,最近太忙了,等正式版出来再说。Together with BogDan Vatra, the main author of the Qt for Androi原创 2012-11-09 22:56:56 · 2363 阅读 · 1 评论 -
使用C++扩展QML功能
使用C++扩展QML功能分类:Qt QuickQML跨平台-QT2012-08-30 23:1436人阅读评论(0)收藏编辑删除QML语法声明性的描述如何在内存中构建对象树.在Qt中QML主要用于描述可视化场景图,但是其不仅限于此:QML格式可抽象描述任意对象树.QT中包含的所有QML元素类型都按本文中描述的机制由C++扩展而来的.开发者可以使用这些API函数扩展新的类型与Qt已存类型翻译 2012-08-30 23:14:32 · 11075 阅读 · 0 评论 -
QML代码与现有Qt UI代码整合
有很多方式可将QML整合到基于QWidget UI应用程序中,具体方案依赖于UI代码的特征.与基于QWidget的UI整合如果有一个基于QWidge的UI界面,可使用QDeclarativeView整合QML部件.QDeclarativeView继承于QWidget,因此可像其他QWidget部件一样添加到用户界面中. 使用 QDeclarativeView::setSource()向翻译 2012-09-02 12:50:39 · 10757 阅读 · 1 评论 -
QML元素
这是Qt Quick子部分的QML元素的功能分组列表.These are the functionally grouped lists of QML elements as part of Qt Quick.声明元素时要带有名称和两个花括号.元素可能被嵌入到其他元素中,从而在两个元素间创建了父子关系.Elements are declared with the their name a翻译 2012-08-30 14:09:30 · 7159 阅读 · 2 评论 -
Qt Quick简介
Qt Quick是一个用于帮助开发者设计直观,现代,流畅的用户界面的技术集,近年来被广泛应用于手机,媒体播放器,机顶盒和其他手提设备.Qt Quick中包含了大量的用户界面元素,及描述这些用户界面的陈述性(declarative)语言,和一个语言运行时.在典型的Qt应用程序中有一系列C++ API与这些高层次特性整合.Qt Creator2.1的整合开发环境(IDE)包含了开发Qt Q翻译 2012-08-30 11:51:42 · 17193 阅读 · 1 评论 -
QT范例解析
首先记录一个很牛的C++ QT博客http://www.cnblogs.com/hicjiajia/category/350988.htmlQT动画在QT自带的demo中,有个一个2dpainting的范例,这个例子可以很好的阐述QT简单的动画效果机制。在main函数中创建一个Window对象实例,这个类是从QWidget继承来的,其构造函数中创建一个Widget类型对象,并创原创 2012-08-28 20:20:02 · 5108 阅读 · 0 评论 -
vs2008编译QT开源项目--太阳神三国杀源码分析(五) 分牌及出牌
游戏开始时选择武将后,服务端统一控制向玩家分发初始手牌,并向客户端发生绘制手牌的命令.跟踪的流程如下:服务端向客户端发送命令drawCards及随后的一串使用加号(+)连接起来的牌编号(drawCards 91+50+112+100+42+133+43+78).客户端解析这个命令串后调用drawCards函数(原理在上面的系列分析中已经阐述),并使用后面的字符串作为参数,在drawCards函数中原创 2012-08-18 10:06:34 · 3997 阅读 · 0 评论 -
vs2008编译QT开源项目--太阳神三国杀源码分析(四) 动画
太阳神三国杀中,每当玩家出杀或吃桃子时,就会有一个动画效果,使界面非常生动绚丽.现在我们就分析一下QT中动画的原理,及实现方式,这里我们只分析吃桃子时的动画效果实现.由于三国杀有多个在线玩家同时游戏,因此当一个玩家吃了桃子,会将这个消息发送给服务器,服务器在分别通知每个在线玩家,使玩家界面出现吃桃子的动画.现在我们来跟踪一下代码的执行流程.在NativeClientSocket::init()原创 2012-08-16 16:46:29 · 3156 阅读 · 0 评论 -
vs2008编译QT开源项目--太阳神三国杀源码分析(三) 皮肤
太阳神三国杀的界面很绚丽,界面上按钮的图标,鼠标移入移出时图标的变化,日志和聊天Widget的边框和半透明等效果,既可以通过代码来控制,也可以使用皮肤文件qss进行控制.下面我们分析一下三国杀的qss文件.在main.cpp中可以看到如下几句关键代码:QDir::setCurrent(qApp->applicationDirPath());//设置当前目录为程序的可执行文件所在目录 /原创 2012-08-15 11:14:08 · 6763 阅读 · 0 评论 -
vs2008编译QT开源项目--太阳神三国杀源码分析(二) 客户端添加武将
接着上篇文章继续分析,我们来看看进入到roomScene(房间场景)后,点击add a robot按钮,是如何创建武将的.首先找到add to robot按钮的创建代码: add_robot = new Button(tr("Add a robot")); add_robot->setParentItem(control_panel); add原创 2012-08-14 15:34:00 · 4475 阅读 · 0 评论 -
vs2008编译QT,Boost,OpenCV步骤记录
最近重做了一台机器的系统,在上面安装了VS2010,VS2008,结果无法使用命令行重新编译QT,总是报无法找到windows.h,但使用vs2008创建QT项目并编译运行都是正常的.后来卸载了vs2010并修复vs2008,还是不行.没办法直接还原系统,只安装vs2008,QT编译正常了.从网上查找无法找到windows.h单元的原因,说是windows SDK路径混乱了,那应该是我同时安装了v原创 2012-08-23 12:42:24 · 2701 阅读 · 0 评论 -
Win或Linux中编译安装软件的命令解析: configure; make; make install
原文地址:http://www.cnblogs.com/Jerry-Chou/archive/2010/12/18/1909843.html翻译一篇文章,我最早从这篇文章中了解到为什么Linux平台上,从源代码安装软件通常都需要这三步:./configure, make, make install 。译文如下:我总是听人们说,通常只要使用configure, make, mak转载 2012-08-23 11:51:25 · 5458 阅读 · 0 评论 -
QML语法
QML是一种声明式的语言,用来描述程序的用户界面:两个方面--外观和行为.在QML中用户界面被描述为带有属性的对象的树.QML中使用JavaScript作为脚本语言,因此深入学习QML前应先多了解一下Javascript.QML基本语法QML是这个样子的: import QtQuick 1.0 Rectangle { width: 200 height:翻译 2012-09-05 19:47:04 · 6284 阅读 · 0 评论 -
QML数据模型(Model)
QML数据模型(Model)QML中的ListView,GridView和Repeater等元素需要数据模型来提供要显示的数据.这些元素需要一个为模型中的每一项数据生成一个实例的代理组件(delegate component).模型可以是静态的,也可对其动态修改,插入,删除,移动.给代理提供的数据通过叫做角色的数据绑定到代理.下面的ListModel有两个角色,type和age,ListV翻译 2012-09-24 11:41:22 · 30474 阅读 · 7 评论 -
QML动画和过度
动画(Animation)和过度(Transition)元素Transition - 状态改变的过度动画SequentialAnimation - 串行执行动画ParallelAnimation - 并行执行动画Behavior - 为属性变化指定默认动画PropertyAction - 动画中设置立即改变的属性值(Sets immediate property changes durin翻译 2012-09-20 22:52:42 · 16935 阅读 · 1 评论 -
使用QML视图显示数据
视图是包含项目的集合.他们富有特色,可自定义风格和行为Qt Quick图形元素提供了几个标准的视图:ListView 水平或垂直列表中排列项目GridView 在一个有效空间的网格内排列项目PathView 在路径上排列项目WebView - 可在QtWebKit QML Module中使用.与其他视图不同,WebView 不具有全部视图特性,需要与Flickable组合创建一个像翻译 2012-09-20 21:31:22 · 7433 阅读 · 0 评论 -
在QML中管理动态对象
原文地址:http://doc.qt.digia.com/4.7-snapshot/qdeclarativedynamicobjects.htmlQML提供了很多种方式动态创建和管理QML对象.Loader,Repeater,ListView,GridView和PathView都支持动态对象管理.对象也可在C++中创建并管理,这是QML\C++相结合的应用程序首选方法.QML也支持翻译 2012-09-20 10:41:28 · 11880 阅读 · 1 评论 -
C++程序中使用QML绑定机制
原文地址:http://doc.qt.digia.com/4.7-snapshot/qtbinding.htmlQML被定为一种可容易使用C++扩展,并可扩展C++的语言.使用Qt Declarative模块中的类可在C++中加载和操作QML中的组件,通过Qt的元对象系统,QML和C++对象可轻易的使用信号和槽机制进行通信.此外,QML插件可以创建发布可重用QML组件.你可能有很多种理由要翻译 2012-09-18 13:29:24 · 18051 阅读 · 4 评论 -
QML负责GUI,C++负责业务逻辑的范例
在declarative目录中,有个minehunt范例,实现了在C++中加载QML界面,并用C++来处理QML界面上的鼠标动作.这种思路和传统的GUI相似,感觉比较顺畅.否则运行一个QML,还要使用qmlviewer,上面带一大堆菜单按钮,看着够别扭的.在main函数中,创建了一个QDeclarativeView实例,这个实例负责显示QML界面.接着创建负责处理业务逻辑的MinehuntGa原创 2012-09-13 11:04:55 · 11984 阅读 · 3 评论 -
QML范例详解
研究了一段时间QML,现在对Qt中的一个计算器范例的代码进行分析,并总结一下前面学习的内容.Qt这种语言大多数还是被用于嵌入式设备上,而QML则是专为嵌入式设备而生的.Qt在桌面开发上占据的比例很小,而且已被Nokia出售,未来的前景如何谁也不好说.但Qt确实很棒,祝福一下吧,如果以后Qt支持android和苹果的开发了,在继续深入研究.上图是运行效果图,界面风格确实很漂亮.鼠标点击按钮后原创 2012-09-06 19:58:39 · 39552 阅读 · 2 评论 -
QML编程入门
欢迎来到声明式UI语言QML的世界.在本入门教程中,我们使用QML创建一个简单的文本编辑器.阅读这个教程后,就可以使用QML和Qt C++开发应用程序了.安装首先需要安装包含Qt Quick的Qt最新版本,现在是Qt4.7.安装教程包括安装说明书和不同平台的需求.Qt Quick包含一个叫做QML的声明式语言,Qt Declarative Module,和 QML Viewer翻译 2012-09-02 22:50:01 · 86790 阅读 · 9 评论 -
QT程序员使用QML
使用QML并不需要Qt的知识,如果你已经熟悉Qt,那么很多知识都可以直接用于学习和使用QML.当然,使用QML定义UI的应用程序还是需要使用Qt实现非UI逻辑的.熟悉的概念QML直接支持如下Qt中的概念:QAction -action 类型QObject 信号槽 - 可用于调用JavaScript函数QObject 属性- 在JavaScript中当做变量使用QWidget - Q翻译 2012-08-30 16:18:53 · 16183 阅读 · 4 评论 -
vs2008编译QT开源项目--太阳神三国杀源码分析(一) 项目编译及整体分析
请参看 http://tieba.baidu.com/f?kz=1508964881按照上面的网址教程,下载三国杀源码,swig工具,并下载最新的QT4.8.2 for vs2008.我本机已经安装好了vs2008和QT4.7,因此下载QT4.8.2后直接安装,并在vs2008的QT菜单中点击QT Options子菜单,设置默认的QT/Win版本为4.8.2.使用vs2008打开QSanguo原创 2012-08-01 12:00:33 · 9150 阅读 · 0 评论 -
asio中异步IO的体会
想在QT的程序中使用asio库实现异步IO操作,服务端是按照asio的http范例改写的,没什么问题.而客户端基本上都是采用同步方式.那么我能不能在客户端采用异步方式呢?第一感觉是肯定可以,而且会很简单的就能实现. 那就将客户端的IO操作改写为异步的吧.首先在客户端的主界面类中声明一个io_service指针,而后在主界面类的构造函数中初始化并调用其run()方法,在按钮的事件处理函数中调用原创 2012-08-09 17:25:13 · 9364 阅读 · 0 评论 -
QT实现不规则窗体
看到网上有很多不规则窗体的实现,效果很酷.于是使用QT也实现了一个,QT的不规则窗体实现非常简单,只需要设置一个mask(遮掩)图片,这个图片的格式可以使用png或bmp格式,我使用了png格式,默认窗体是矩形的,使用png图像,将需要隔离在窗体之外的区域的像素设置为白色或透明色,其他颜色的区域对应显示出来的窗体.关键代码就几行.#ifndef IRREGULARFORM_H#define原创 2012-05-31 10:38:39 · 17336 阅读 · 19 评论 -
Delphi调用C++导出的类
打开VS2008创建一个dll项目(创建了一个QT Library项目),新建头文件q4dapplication.h定义纯虚类:#ifndef Q4DAPPLICATION#define Q4DAPPLICATION class Q4DApplication { public: virtual int exec() = 0; };#endif新建头文原创 2012-03-14 15:10:01 · 4620 阅读 · 1 评论 -
python学习笔记
python很强大的,配合第三方的包,可以实现api函数调用、com调用、网络、数据库、串口编程等等。配合PyQt可以编写很牛的界面,依托Qt库可以进行数据库操作、网络操作,而且最让人震惊的是竟然将Qt自带的Demo完全用PyQt重写了,振奋人心。很适合写一下测试程序等小工具啥的。刚开始从官网上下载了最新的3.2.2版本,下载了一下三方的库根本没法编译,试着修改编辑,还是不行,浪费了很多时间。从网原创 2012-03-09 10:18:27 · 1410 阅读 · 0 评论 -
QT断点续传
//功能: 根据一个URL地址将数据保存到指定路径下,支持断点续传//参数: url --需要访问的URL地址// SavePath --需要保存的路径//DownedSize 已经下载的大小// totalSize 文件总大小//返回值: ture --成功 false --失败bool HttpGet::D转载 2012-02-17 11:51:03 · 6957 阅读 · 1 评论 -
QT连接FireBird测试
根据上篇翻译的文档按部就班的进行测试,结果可以正常的连接到FireBird。这里有几个地方需要注意:1.首先安装好QT、VS,以及FireBird后,编译iBase插件。设置好包含路径后可以顺利的编译。2.建立测试程序后发现没有加载iBase驱动,这是因为程序找不到fbclient.dll所致,将其拷贝到exe文件目录下3.连接数据库设置Firebird数据库路径时注意反斜线需要转义。原创 2011-11-16 20:03:54 · 2740 阅读 · 0 评论 -
剖析Qt Creator布局管理器
在Qt Creator中首先对菜单进行完善,实现布局管理器的应用。1.我们在做好的基础上再加入一些常用菜单,加以完善。“文件”的子菜单如下图。中间的分割线可以点击Add Separator添加。 “编辑”子菜单的内容如下。“帮助”子菜单的内容如下。2.我们在动作编辑器中对各个菜单的属性进行设置。如下图。3.我们拖动“新建”菜单的图标,将其放到工具栏里。拖转载 2011-12-28 11:12:17 · 2850 阅读 · 0 评论 -
QT及嵌入式FireBird入门
本文逐步介绍QT,VS和FireBird简介本文逐步介绍QT,VS和FireBird.适用于打算使用嵌入式FireBird的QT开发者以及QT新手.在我写这篇文档的时候,有关本文涉及的话题还在大量的讨论,所以我希望本文能对大家有所帮助.本文讨论的内容:1. 安装QT SDK,并与VS进行配置整合. 2. Building IBase插件. 3. 使用代码创建一个数翻译 2011-11-14 16:43:33 · 4501 阅读 · 0 评论 -
系统集成总结
最近突然闲下来了,反而有些不习惯了,心里总是在怀念青葱岁月,其实未来也很美好的,努力去奋斗吧。做为一个从事技术开发的人,有时候后悔从事了这个行业,既然从事了,有什么办法呢,现在让我回答:你除了做开发还能做什么,我真的没有答案。那就继续走下去吧,否则喝西北风啊,西北风也不是随便喝的,这税那费的不知道什么时候贴在身上,没刀了喝风的资格都会被取消。 回想总结一下以前的工作经验吧,前段时间做了些系统原创 2011-09-02 16:03:51 · 2256 阅读 · 0 评论 -
Qt学习手记之一 转帖
(安装篇)前奏:提到C++的GUI Framework估计大多数人都会想到MFC、VCL,因为在十年前的COM时代,这两个大家伙几乎垄断了整个C++ windows平台上应用程序的开发市场, 但是最近几年,随着.NET framework的推出。使得MFC这样原本就非常丑陋,麻烦的framework开始风光不再了,我也学过几天的MFC,那种宏作为消息满天飞的编程风格让我很快就放弃了,几原创 2008-12-17 17:32:00 · 1698 阅读 · 0 评论 -
Eclipse + MinGW + Qt[转]
1. Qt + MinGW The Qt Open Source Edition is provided under the GNU General Public License (GPL). 下载:当前版本:qt-win-opensource-4.3.1-mingw.exe(69M,在trolltech网站上下载)安装:这个版本是附带 MinGW 编译器的,所以在安装 Qt原创 2008-12-17 17:11:00 · 1232 阅读 · 0 评论 -
QT操作Excel
新建QT GUI项目,在选择选项中勾选ActiveQT Container.#include QAxObject *obj = new QAxObject("Excel.Application"); obj->setProperty("Visible", true); obj->setProperty("Caption", "Hello world"); QAxObject原创 2012-03-27 10:15:14 · 4084 阅读 · 1 评论 -
Delphi引用C对象文件
C语言应用非常广泛,并在世界各地拥有大量的代码库.这些代码库与Delphi的可比性较小,因此如果我们无需转换为Delphi代码而可以直接使用这些库的部分代码就完美了.幸运的是,Delphi允许连接到C编译出来的对象文件.但这里有” unsatisfied externals”问题.C is a very widely used language, and this has made the w翻译 2012-03-15 16:29:54 · 5182 阅读 · 0 评论 -
在Delphi中使用C++对象
Delphi是市场上最好的RAD工具,但是现在C++占据着主导地位,有时针对一个问题很难找到Delphi或Pascal的解决方案.可是却可能找到了一个相关的C++类.本文描述几种在Delphi代码中使用C++类的方法.Delphi is one of the greatest RAD tools on the market, but it in this currently C++-domin翻译 2012-03-14 11:55:02 · 5003 阅读 · 0 评论 -
QT GUI总结
QT提供了设计师工具,可以很方便的使用鼠标拖拽的方式绘制界面。绘制完毕后自动生成一个界面的.h文件(如ui_mainwindow.h),其中含有一个自动生成的Ui_MainWindow类,这个类中核心的函数是setupUi,根据界面向导的不同里面接收一个QWidget *参数或者QMainWindow *参数。这个函数会自动在传入的QWidget或QMainWindow上根据设计师绘制的界面创建可原创 2011-11-03 17:08:00 · 24597 阅读 · 5 评论 -
QT插件开发方式
创建一个QT的库项目,删除自动生成的.h和.cpp文件,添加一个接口定义.h文件和一个接口实现类(一个.h一个.cpp).代码如下:1.接口文件源码#ifndef PLUGININTERFACE_H#define PLUGININTERFACE_H#include class EchoInterface{public: virtual ~EchoInterfac原创 2012-02-16 14:46:57 · 17901 阅读 · 16 评论 -
Qt调用WebService
从网上查找Qt调用WebService的方案,需要下载三方的类库,而且需要使用好几个控制台命令,才能生成代理客户端类.因为只是简单的测试,没有采用这种方式,直接使用HTTP的Get获取网站内容,也非常简单,调用开放的翻译WebService接口.代码如下: QEventLoop loop;//事件循环对象,在任何时候,你都可以创建一个QEventLoop的对象,然后调用它的exec(原创 2012-06-08 12:55:12 · 10574 阅读 · 4 评论