- 博客(63)
- 资源 (1)
- 收藏
- 关注
转载 绘图设备
绘图设备是指继承QPainterDevice的子类。Qt一共提供了四个这样的类,分别是QPixmap、QBitmap、QImage和QPicture。其中,QPixmap专门为图像在屏幕上的显示做了优化,而QBitmap是QPixmap的一个子类,它的色深限定为1,你可以使用QPixmap的isQBitmap()函数来确定这个QPixmap是不是一个QBitmap。QImage专门为图像的像素级访
2012-07-20 16:41:20 1218
原创 Qt编程推荐网站
QT - little_su - 博客频道 - CSDN.NETQt - 1+1=2 - 博客频道 - CSDN.NETQT - Jiangwzh - 博客园QTCN社区 - Powered by phpwindQt应用程序开发 - 移动平台碎碎念 - 博客频道 - CSDN.NETQT无标题,透明,可以移动,可以伸缩基本实现 - zhy282289的专栏 - 博客频道 - CSDN.NET奔跑的
2012-07-18 17:26:48 2639 1
转载 QPixmap与QImage的区别
QPixmap是专门为绘图而生,当需要绘制图片时你需要使用QPixmap。QImage则是为I/O,为图片像素访问以及修改而设计的。如果你想访问图片的像素或是修改图片像素,则需要使用QImage,或者借助于QPainter来操作像素。另外跟QImage不同是,QPixmap跟硬件是相关的,如X11, Mac 以及 Symbian平台上,QPixmap 是存储在服务器端,而QImage则是存储在
2012-07-17 21:34:58 1140
转载 简单的带动画渐隐效果
//tmainwnd.h#ifndef TMAINWND_H#define TMAINWND_H#include QWidget>#include QPushButton>class TPushBtn2 : public QPushButton{ Q_OBJECTpublic: explicit TPushBtn2(QWidget *parent = 0);
2012-07-17 11:13:37 1017
转载 UI移动和渐隐渐现
UI的移动和渐隐渐显 实现简单却能给游戏加载或场景过度一个不错的效果废话不说 上一个简单的代码#define UI_FADE_SPEED 1#define UI_MOVE_SPEED 1// 设置移动目标 void SetMove( int nDstX, int nDstY ){ m_nMoveToX = nDstX; m_nMoveToY
2012-07-17 11:12:47 1084
转载 Qt的双缓冲
双缓冲绘图在Qt4中,所有的窗口部件默认都使用双缓冲进行绘图。使用双缓冲,可以减轻绘制的闪烁感。在有些情况下,用户要关闭双缓冲,自己管理绘图。下面的语句设置了窗口部件的Qt::WA_PaintOnScreen属性 ,就关闭了窗口部件的双缓冲.mywidget->setAttribute(Qt::WA_PaintOnScreen); 由于Qt4不再提供异或笔,组合模式QPainter
2012-07-17 11:10:15 4171
转载 Qt下的几种透明效果
1.窗口整体透明,但是窗体上的控件不透明。 通过设置窗体的背景色来实现,将背景色设置为全透。QPalette pal = palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal); 试验效果: 窗体标题栏不
2012-07-17 11:06:33 876
转载 the difference of QRectF&QRect
QRect uses integer precision and QRectF uses floating point precision. In fact, there are several other classes with this similar setup: QLine/QLineF, QPoint/QPointF, etc.
2012-07-17 11:05:33 1178 1
转载 Qt仿Android带特效的数字时钟源码分析(滑动,翻页,旋转效果)
转自:http://blog.csdn.net/huihui1988/article/details/5853728这个数字时钟的源码可以在Qt Demo中找到,风格是仿Android的,不过该Demo中含有三种动画效果(鉴于本人未曾用过Android的系统,因此不知道Android的数字时钟是否也含有这三种效果),其分别为滑动、翻页和旋转。由于本人的Qt Creator输入中
2012-07-17 11:01:36 4367 1
转载 Qt使用QGraphicsView实现滑动窗体效果
转自:http://blog.csdn.net/huihui1988/article/details/5725955源码已上传至CSDN,http://download.csdn.net/source/2808505 QGraphicsView用来显示一个滚动视图区的QGraphicsScene内容。QGraphicsScene提供了QGraphicsItem的容器功能
2012-07-17 10:59:16 3378
转载 Qt制作Aero特效
转载请注明链接与作者huihui1988 初学QT,边看书边自己做点小东西。最近突然心血来潮,想自己做个小巧点的,界面美观一点的备忘当桌面上。想了半天,发现VISTA/WIN7的Aero效果就不错,况且自己现在就在用WIN7。于是上网找了下QT制作Aero效果的方法。Google之后终于找到了函数和用法。于是做了一个简单的Aero特效窗口以下是头文件和实现文件:
2012-07-17 10:57:36 2332
转载 Qt实现右键快捷菜单
QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数:Qt::ContextMenuPolicy contextMenuPolicy () constvoid setContextMenuPolicy ( Qt::ContextMenuPolicy policy )Qt::ContextMenuPolicy 枚举类型包括:Qt::Defau
2012-07-17 10:55:24 2109
转载 Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
Qt4.7中可以设置窗体的透明度。下面的方法让窗体实现当鼠标移动到窗体上,窗体由半透明变为不透明的效果。 首先我们在窗体初始化函数中设置窗体属性: setWindowFlags(Qt::WindowStaysOnTopHint); //设置窗体置顶。如果不设置置顶,当窗体被覆盖时,其透明度的改变就观察不到了。大家可以根据具体需要设置
2012-07-17 10:53:30 1950
转载 Qt实现窗口自动隐藏
将窗口拖到窗口最上方,或最左方,移开鼠标,窗口自动隐藏。将鼠标移到窗口边界,窗口自动弹出,类音速启动效果from PyQt4.QtGui import *from PyQt4.QtCore import *class Geometry(QDialog): def __init__ (self): QDialog.__init__(
2012-07-17 10:52:07 9378 2
转载 Qt全局热键
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等。既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了。注意,这个是Windows篇,就说明这些代码只支持windows系统。同时,也说明肯定还有其他平台的要写。不过要等O(∩_∩)O~在Qt要调用Windows的API其实很简单,只要在需要用到的头文件中
2012-07-17 10:49:59 5306
转载 Qt的内存管理机制
这篇文章首先发布于我的主页 http://www.devbean.info,以后也会直接发布在那里。现在有 Flex 4 的一篇和 《从 C++ 到 Objective-C》系列,感谢大家支持!强类型语言在创建对象时总会显式或隐式地包含对象的类型信息。也就是说,强类型语言在分配对象内存空间时,总会关联上对象的类型。相比之下,弱类型 语言则不会这样做。在分配了内存空间之后,有两种方法
2012-07-17 10:34:39 904
转载 Qt的核心剖析:信息隐藏
如果你阅读了 Qt 的源代码,你会看到一堆奇奇怪怪的宏,例如 Q_D,Q_Q。我们的Qt源码之旅就从理解这些宏说起。下面先看一个C++的例子。class Person { public: Person(){} ~Person(){} string name(); void setName(string na
2012-07-17 10:31:30 2128 2
转载 Qt多线程
POINT 1:QThread类的实例与普通类的实例没什么不同,只是运行着的run()函数会不同例1: class MThread :public QThread { public: MThread(); ~MThread(); void run(); void foo(); ... };
2012-07-17 10:25:05 612
转载 Qt读取中文文件
虽然C++标准中有了文件读取的相关类,也很好用,但是在涉及到QT编程的时候却用起来不方便了,因为QT本身很多组件都是关联的自身的QString类型的字符串,所以再用C++本身String类型的时候就不是那么方便了,需要进行转化,这样给程序带来了复杂度,同时也带来了转化的开销,所以如果用QT开发,可以就用它本身所带的这些类型进行处理,形成一个系统,便于数据在程序之中的交互和共用。 QT很好,
2012-07-17 10:22:55 670
转载 Qt动画框架的实现
状态机框架提供了创建和执行状态图的一些类.这些概念和表示都是基于Harel状态图中的一些概念和记法.它也是UML状态图表的基础.状态机执行的语义是基于状态图XML(SCXML). 状态图提供了一种图形化的方式来对一个系统建模,从而反映它怎么响应外部触发.这是通过定义系统可能进入的一些状态以及系统怎么从一个状态转换到另一个状态(不同状态之间转变)来实现的.事件驱动系统的一个关键的特征(例
2012-07-17 10:20:23 1595
转载 Qt的定时器QTimer
在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器;一种是使用QTimer类。定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度。1.QObject类的定时器 QObject是所有Qt对象的基类,它提供了一个基本的定时器。通过QObject::startTimer(),可以把一个一毫秒为单位的时间间隔作为参数来开始定时器,这个函数
2012-07-17 10:07:26 1569
转载 Qt的QGraphicsView框架
Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放。这个柜架也包含一个事件传播结构,对于在scene中的这些items,它具有双精度的交互能力。 Items能处理键盘事件,鼠标的按,移动、释放、双击事件,也可以跟踪鼠标移动。Graphics View使用BSP树来
2012-07-17 09:51:56 2519
转载 QT右键菜单及位置捕捉问题
QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数:Qt::ContextMenuPolicy contextMenuPolicy () constvoid setContextMenuPolicy ( Qt::ContextMenuPolicy policy )Qt::ContextMenuPolicy枚举类型包括:Qt::De
2012-07-16 18:29:07 1538
转载 Qt之Windows键盘消息学习
为了找到 QTBUG18896 问题的答案,只好先看看Windows下面的键盘消息处理,看到最后:发现这个问题和Windows似乎没有必然的联系 ^_^ (见 QToolBar焦点问题 (QTBUG18896) )Windows键盘消息对产生可显示字符的按键组合,Windows不仅给程序发送按键消息,而且还发送字符消息。有些键不产生字符,这些键包括shift键、功能键、光标
2012-07-16 18:14:23 2766
转载 Qt动态语言切换
QT GUI提供了语言动态转换的机制并辅以相应的工具实现界面的多语言实时动态切换功能。一、 语言切换的实质当界面上有一个地方需要显示字符串strA时,在代码中对这个字符串做一个标记,当程序执行到这个标记时会去一个翻译文件中找到这个标记对应的内容,然后将此内容实际的显示到界面。所以,要实现语言切换必须做到:1、在代码中对需要做语言切换的地方要有标记;2
2012-07-16 18:11:44 1275
转载 Qt中QSortFilterProxyModel关于多列排序的实现
在以前也使用过QSortFilterProxyModel这个类, 用它对视图进行搜索,排序等操作还是比较方便的。但是发现在排序时只允许根据一个关键字来排序,如果要实现“先根据列A升序,在根据列B降序排序”的这种需求,它就无能为力了。在网上查找关于这方面的信息或代码,发现都是有这种需求,但没有现成的例子可以借鉴。无奈之下,自行研究了Qt这个代理类的实现和源代码,找出了实现多个关键组排序的方法,在此发
2012-07-16 18:05:09 1191
转载 Qt中的RGB转灰度图
view sourceprint?01QImage ToGrayImage_triggered(QImage m_QImage)02{03 QSize size=m_QImage.size();
2012-07-16 18:03:37 3067
转载 Qt中translate、tr关系 与中文问题
题外话:何时使用 tr ?在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包)(2b) 用tr包住中文(源码用中文,
2012-07-16 18:00:38 606
转载 Qt中常用工程文件的介绍
qmake Common Projects(qmake普通工程) 这章描述怎样去创建基于QT的三种一般工程的工程文件。虽然他们使用许多相同的变量,但是他们中的每一个都有特殊工程的变量用于定制输出文件。 特殊平台的变量不在这描述,对于构建用于mac os x系统的一般二进制文件和处理visual studio文件的问题,建议读者去阅读部署qt应用程序章节。1.构建一个
2012-07-16 17:59:36 582
转载 Qt中的事件机制
什么是自发事件?哪些类型的事件可以被propagated 或compressed? posting and sending 事件之间有何不同?什么时候应该调用 accept() 或是ignore() ? 如果这些问题你还不是很了解,那么继续看下去。事件起源:基于事件如何被产生与分发,可以把事件分为三类:* Spontaneous 事件,由窗口系统产生,它们被放到系统队列中,通过
2012-07-16 17:50:46 454
转载 QT中的元对象系统(二):创建自定义的QT类型
我们在使用QT编程时,难免要定义自己需要的类型,但像QT自己的类型如QSzie、QString之类的,都是可以存储在QViriant中的,并且这些QT的类型是可以用在基于QObject类的类型属性中和基于信号和槽的发生机制中。如果我们想要我们自己自定义的类型可以有QT自己类型的功能的话,我们就必须注册我们的类型到QT中,这样我们才可以在我们在信号和槽的通讯机制中使用我们的类型。在我
2012-07-16 17:49:37 1695
转载 QT中的元对象系统(一):QVariant的简单说明
QVariant可以表示QT中的大部分类型,它和pascal中的variant类型或c中的void类型有点相似,不过它的使用和c中的union类似,其实现也是用union,在qvariant.h头文件中,我们可以看到这样定义:[cpp] view plaincopyclass Q_CORE_EXPORT QVariant { publ
2012-07-16 17:48:57 2014
转载 Qt中Ui名字空间以及setupUi函数的原理和实现
用最新的QtCreator选择GUI的应用会产生含有如下文件的工程 下面就简单分析下各部分的功能。 .pro文件是供qmake使用的文件,不是本文的重点【不过其实也很简单的】,在此不多赘述。所以呢,还是从main开始,[cpp] view plaincopyprint?#include
2012-07-16 17:39:07 8358 2
转载 Qt颜色相关知识
包含在一个QColorGroup对象中的颜色 Background(背景)这种颜色用作几乎所有部件的背景Base(基色)这是部件的一种背景色,它比Background多定义的颜色要浅。通常是白色,不过总是一种较浅的颜色BrightText(亮色文本)Dark用作背景时,可以用这种颜色显示文本Button(按钮)这是一个按钮的背景色,在绘制部件的其他部分之前,会用这种颜色填充它B
2012-07-16 17:26:32 1440
转载 Qt自绘滚动条
核心就是自定义一个派生自QWindowStyple类,重载drawScrollBarControls方法最后在自己的QApplication中应用这个style自定义style中绘制滚动条的过程类继承关系:MetalStyle: QWindowsStyle:QStylevoid MetalStyle::drawScrollBarControls( QPainter* p, co
2012-07-16 17:23:54 4300
转载 Qt各种数据类型的转换
1、QString --> stringQString.toStdString();2、string --> QStringQString::fromStdString(string)3、QString --->int,double,char *QString::toInt()QString::toDouble()QString.toStdS
2012-07-16 17:17:54 866
转载 Qt d指针简单实现及解析
[cpp] view plaincopy/*object.h*/ #ifndef _OBJECT_H_ #define _OBJECT_H_ #define INVOKE_METHOD_PRIVATE(Class) Class##Private *d_func() {return reinterpret_cast(d_ptr);}//rei
2012-07-16 16:27:30 1187
转载 Qt d指针简单实现及解析--威力加强版
学习d指针,怎能不研究一下q指针呢,说句实话,看完q指针后,你才会发现,它的理解其实比q指针还晦涩。把代码贴上先:[cpp] view plaincopy/*object.h*/ #ifndef _OBJECT_H_ #define _OBJECT_H_ #include #define INVOKE_METHOD_
2012-07-16 16:26:37 1420
转载 QDir::NoDotAndDotDot隐藏了所有的项目
在使用QDir::entryInfoList函数对目录下的文件和子目录进行遍历时, 希望将Windows中的"."和".."目录忽略, 否则总是会将"."和".."也当成子目录处理, 就造成了一个死循环. 开始用了以下的调用方式QDir("mydir").entryInfoList(QDir::NoDotAndDotDot);但是没有料到这样一来,返回的结果是个空集.
2012-07-16 16:09:03 1928
转载 QFile的使用总结
一: Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ", tr("Allfile(*.*);;mp3file(*.mp3)")); 说明:这样就会产生一个对话框,和系统的资源管理器差不多的。返回的是你选择文件的 绝对路径。参数1:父窗口参数2:对话框的标题参数3:默认
2012-07-16 15:51:46 2041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人