QT中文字的绘制】的更多相关文章

为什么要做这次文字的介绍,因为在一般的教材中,还真没有文字的描述: 1.绘制最简单的文字. 我们更改重绘函数如下: void Dialog::paintEvent(QPaintEvent *){QPainter painter(this);painter.drawText(100,100,”yafeilinux”);} 我们在(100,100)的位置显示了一行文字,效果如下. 2.为了更好的控制字体的位置.我们使用另一个构造函数.在帮助里查看drawText,如下. 这里我们看到了构造函数的原型…
Qt中在图片上叠加显示文字   QCustLabel::QCustLabel(QWidget *parent):QLabel(parent){ setPixmap(QPixmap(QString::fromUtf8(":/images/square.png"))) ;    text="001";} void QCustLabel::paintEvent(QPaintEvent *event){    QLabel::paintEvent(event) ;    Q…
private void label2_Paint(object sender, PaintEventArgs e) {//绘制label中文字 string text = "Sri Lanka"; Graphics g = e.Graphics; Font font = ); Brush brush = new SolidBrush(Color.Black); float lineSpacing = 0.5f; SizeF size = g.MeasureString("A…
在qt 中,QPixmap 用于表示一张图片,支持png,jpg格式的加载. QPixmap pm("c:/test.png"); 或者 QPixmap pm; pm.load("c:/test/png"); QT中图片的路径分为两种: (1)文件系统中的图片:使用绝对路径或者相对路径. (2)资源中的文件:以冒号开头例如:/Test/source/logo.jpg 绘制的参数: (1)源矩形 可以绘制图形的全部,也可以绘制其中的一部分. QRect source(…
刚做完的一个项目,在测试时出现了一个问题:由于多线程的存在,当进行语音识别时:如果用户点击程序界面上的button或者其他接受点击事件后会发出信号的widget时,程序会crash ! 后来尝试着从多线程上去解决,但是比较困难:后来只能从另外一条路来解决,那就是:当语音识别进行时:禁掉一切用户操作! 所谓的禁掉一切UI操作,在手机等手持设备上,尤其是纯触摸屏的设备上,主要就是指的禁止mouse操作!当然了:也可能是禁止键盘操作等.那如何去做这一点呢? 方法:我们可以截获禁止操作的窗口的所有eve…
QT中QMainWindow.QWidget.QDialog 简述 在分享所有基础知识之前,很有必要在这里介绍下常用的窗口-QWidget.QDialog.QMainWindow. 熟悉Qt的同学都应该知道,在新建Qt Widgets项目进行类信息选择时会碰到它们,没错,很巧,每次都能碰到.所以,在以后的Qt开发中,我们会经常和它们打交道.常言道,知己知彼,百战不殆.只有了解它们.熟悉它们,才能更好地驾驭它们... QWidget继承于QObject和QPaintDevice,QDialog和Q…
关于QT中Webkit内核浏览器是本文要介绍的内容,主要是来学习QT中webkit中浏览器的使用.提起WebKit,大家自然而然地想到浏览器.作为浏览器内部的主要构件,WebKit的主要工作是渲染.给定一个HTML文件,WebKit的工作是把 HTML 格式的内容绘制出来,包括: HTML 的布局,譬如左边是什么,顶部是什么,中间是什么. 根据用户设定,呈现文字,譬如字体是宋体还是楷书,大小尺寸,重体斜体等等. 显示不同格式的图片,譬如 JPG , GIF , PNG 等等.所以, WebKit…
1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使用的颜色搭配方案 ②非激活颜色组(Inactive):组件失去焦点使用的颜色方案 ③失效颜色组(Disabled):组件处于不可用状态使用的颜色方案 2.QPalette类中颜色组用途 (1)QPalette类中的颜色组定义了组细节的颜色值 (2)QPalette::ColorRole中的常量值用于…
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符,就是说没有这个函数的声明.接下来就来安装glut库: 1.先下载glut库http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip. 2.将下载下来的文件解压,将glut32.lib和glut.lib两个lib文件移到qt目…
一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";    3. 编写项目文件: mywindow.pro       注意两点:       TEMPLATE = lib       CONFIG   += staticlib    4. 生成Makefile:       qmake    5.…
继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog.QMainWindow.QFrame直接继承QWidget 类. QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分.     QMainWindow 类提供一个有菜单条…
QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. QMainWindow 类提供一个有菜单条.锚接窗口(例如工具条)和一个状态条的主应用程序窗口.主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围 菜单.工具条和一个状态条.QMainWindow常常被继承,因为这使得封装…
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用google一搜,就能搜出大量结果出来.无怪乎Qt的开发人员 Bradley T. Hughes 声嘶力竭地喊you are-doing-it-wrong 和众多用户一样,初次看到这个时,感到 Bradley T. Hughes有 些莫名奇妙,小题大作.尽管不舒服,当时还是整理过一篇博客QThread 的使…
之前在做有关QDockWidget的内容时候遇到了瓶颈,那就是窗口弹出来之后拖动不了,也不可以放大和缩小,若是弹出来之后设置成了window的flags,也不可以拖动,而且也不是需要的效果. 1.弹出来之后的dockwidget的titlebar右边需要有3个按钮分别来控制放大与恢复.弹出来与收进去和关闭按钮.考虑到Qt自带的dockwidget弹出来后实现不了这个,所以参考了网上的方法,需要自己从QWidget中派生一个类来实现自己的titlebar 2.因为dockwidget是嵌套在QTa…
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记,如果有什么错误之处,还希望大家指出,共同提高,谢谢!刚开始的时候,我很自然的想到要实现这个功能,只要重载一下下面的这个函数: void QWidget::focusOutEvent ( QFocusEvent * event )   [virtual protected] 我赶紧的测试一下,但是发…
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符,就是说没有这个函数的声明.接下来就来安装glut库: 1.先下载glut库 http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip. 2.将下载下来的文件解压,将glut32.lib和glut.lib两个lib文件移到qt…
一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";3. 编写项目文件: mywindow.pro注意两点:TEMPLATE = libCONFIG += staticlib4. 生成Makefile:qmake5. 编译生成静态库libmywindow.amake 二. 静态库的使用1. 测试目录: test2.…
一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";    3. 编写项目文件: mywindow.pro       注意两点:       TEMPLATE = lib       CONFIG   += staticlib    4. 生成Makefile:       qmake    5.…
本文转自http://www.cnblogs.com/aqxin/archive/2011/05/23/2054156.html QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. QMainWindow 类提供一个有菜单条.锚接窗口(例如工具条)和一个状态条的主应用程序窗口.主窗口通常用在提供一…
一.详细描述 QWidget类是所有用户界面对象的基类.通俗的来讲,Qt基本上所有的UI类都是由QWidget继承出来的,而QWidget继承于QObject,  大家可以查阅Qt source 即可发现一些微妙的写法,如这篇文章有详细介绍:Qt 库对象数据的声明和使用. 窗口层次 窗口部件是用户界面的一个原子:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己的表现.每一个窗口部件都是矩形,并且它们按Z轴顺序排列的.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. QD…
提要 需求:载入一张图片并显示,能够放大缩小,能够截取图片的某个矩形并保存. 原以为蛮简单的一个功能,事实上还是有点小复杂. 最简单Qt图片浏览器能够參考Qt自带的Demo:Image Viewer Example 看一下终于的实现效果: 图片的载入显示 这里须要实现一个QImageViewer的类.继承自QWidget. 图片用QPixmap来载入和显示,还有三个成员各自是图片的缩放因子,图片是否已经载入,viewer是否已经初始化,是否处于裁剪状态. private: QPixmap m_p…
QWidget是所有用户界面对象的基类,这意味着可以用同样的方法为其它子类控件改变背景颜色. Qt中窗口背景的设置,下面介绍三种方法. 1.使用QPalette 2.使用Style Sheet 3.绘图事件 一般我不用QSS设置窗口背景,也不建议使用.(这里是对于窗口而,如果是子部件当然可以).因为窗口使用QSS设置背景之后,若子部件不使用同样的方式来设置,默认则会继承父窗口的样式. 使用QPalette 使用QPalette来设置背景色 m_pWidget = new QWidget(this…
Qt 中一些常用类中文说明是本文讲述的内容,这篇文章主要是介绍Qt 当中经常使用的类,采取的是使用字母索引的方式,下面的类是被经常使用的. QDataStream 为QIODevice提供了一串的二进制的数据 QDataWidgetMapper 提供了从数据模型到部件的映射 QData 日期的功能 QDateEdit 提供了日期的部件用来编辑日期,是基于QDateTimeEdit 部件 QDateTime 提供日期与时间的功能 QDateTimeEdit 提供了编辑日期与实践的部件 QDBusA…
Qt可显示基本的图像类型,利用QImage.QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放.旋转). 参考:Qt中图像的显示与基本操作 - ykm0722的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/ykm0722/article/details/7447632 1. Qt可显示的图像类型 参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP.GIF.JPG.JPEG.PNG.TIFF.PBM.PGM.P…
1.需要使用多线程管理的例子 一个进程可以有一个或更多线程同时运行.线程可以看做是“轻量级进程”,进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理.Qt 使用QThread 来管理线程. QWidget *widget = new QWidget(this); QVBoxLayout *layout = new QVBoxLayout; widget->setLayout(layout); QLCDNumber *lcdNumber = new QLCDNumber(thi…
QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. QMainWindow 类提供一个有菜单条.锚接窗口(例如工具条)和一个状态条的主应用程序窗口.主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围 菜单.工具条和一个状态条.QMainWindow常常被继承,因为这使得封装…
1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegExpValidator(regExp,this)); lineEdit->setValidator(new QRegExpValidator(regExp,this));   2:QObject::connect() connect(objectA,SIGNAL(methodA()),objectB,SL…
Qt中引入html调节样式 HTML 设置行间距字体高度和颜色 <html><head/><body><p style=\"height:16px;line-height:24px;color:#787878\"> helloWorld</p></body></html> 技巧 实现Html链接动态下划线 继承QLabel并重写进入离开事件(对Html文字链接中text-decoration: none…
一.QGraphicsScene 1.QGraphicsScene QGraphicsScene继承自QObject,是一个管理图元的容器,与QGraphicsView合用可以在2D屏幕上显示如线.三角形.文本.自定义图元等图元. QGraphicsScene是不可见的,只用于管理图元.为了查看场景,需要创建一个视图组件. 一个场景分为三个层:图元层.前景层和背景层.场景的绘制总是从背景层开始,然后是图形项层,最后是前景层. 2.事件处理与传播 QGraphicsScene的责任之一是传播来自视…
(1)首先需要自定义一个类,派生自CListCtrl.如下图: (2)然后在派生类的头文件中声明一个成员函数,如下图: (3)在源文件中实现该成员方法,如图: (4)在源文件中做消息映射,如图: 这时候,当CListCtrl控件在绘制的时候,就会有NM_CUSTOMDRAW消息被我们的函数截获. 我们就在实现函数中筛选出CListCtrl控件应该设置内容(文字颜色,文字背景颜色)的时机,对绘制的内容做相应的修改即可. // ColorListCtrl.cpp : implementation f…