《QT从基础到进阶·十四》QPoint,QPen,QPainter,QFont,焦点事件使用

简介: 《QT从基础到进阶·十四》QPoint,QPen,QPainter,QFont,焦点事件使用

QPoint代表一个点的坐标,常用方法如下:

QPoint();    // 构造横纵坐标均为 0 的 QPoint 对象  
QPoint(int x, int y);    // 构造横纵坐标分别为 x 和 y 的 QPont 对象

通过以下成员函数可以得到QPoint中横纵坐标的引用:

int &rx(); //横坐标引用
int &ry(); //纵坐标引用

设置横纵坐标:

void setX(int x); //设置横坐标
void setY(int y); //设置纵坐标

获取横纵坐标

int x() const; //获取横坐标
int y() const; //获取纵坐标

QPen:画笔,可以进行线条的绘画

color():定义了线条的颜色。使用setColor(QColor(255, 0, 0, 100))定义画笔的颜色

width():定义了线条的宽度。使用setWidth(int width)设置线条的宽度

QPen:: setPixelSize(16) //设置线条像素大小为16px

这里有个特殊情况,要说明一下,按照我们的理解,如果setWidth(0)的话,应该是线条宽度为0,应该是不显示线条啊。可是实际不是这样,当设置为线条宽度为0的时候,默认画笔的宽度一直是1像素宽。

如果不想显示线条有两种办法:

//办法1
setStyle(Qt::NoPen);
//办法2
setWidth(-1);

style(),定义了线条的类型,setStyle还可以设置三种线条类型:

实线:Qt::solidLine

虚线Qt::dotLine, Qt::dashLine

QPainter: 画板,可以进行多边形的绘画

常用多边形绘画如下:

QPainter一些用法:

函数QPainter::isActive()的作用是:指示绘制程序是否处于活动状态。painter由begin()函数和接受QPaintDevice参数的构造函数激活,end()函数和析构函数将停用它。

drawText(x, y, str) 在(x, y)位置绘制文字

QFont:设置字体属性

Qt焦点事件 setFocusPolicy:

设置焦点可以让应用更便捷。比如当你打开百度主页或其他带有编辑框的页面时,不需要先用鼠标点击编辑框就可以直接输入文字等信息到其中。这就是由于搜索框设置了焦点。

一个空间要先设置它焦点事件的模式,即窗口如何接受焦点事件(通过鼠标单击、Tab键、不接受焦点事件等)

setFocusPolicy(Qt::StrongFocus); //通过tab键或单击获得焦点


相关文章
|
8月前
|
BI
Qt 报表实现(三)---QPainter+QPrinter
Qt 报表实现(三)---QPainter+QPrinter
133 2
|
8月前
|
存储 开发框架 开发者
QT C++焦点事件:多角度解析实用技巧与方法
QT C++焦点事件:多角度解析实用技巧与方法
1450 0
|
8月前
|
API
QT基础入门——Qt事件(五)
QT基础入门——Qt事件(五)
454 0
QT基础入门——Qt事件(五)
|
3月前
|
存储 Windows
(13) Qt事件系统(two)
文章详细介绍了Qt事件系统,包括事件分发、自定义事件、事件传播机制、事件过滤以及事件与信号的区别。
123 3
(13) Qt事件系统(two)
|
3月前
|
编解码 程序员
(12)Qt事件系统(one)
本文详细介绍了Qt事件系统,包括各种系统事件、鼠标事件、键盘事件、定时器等的处理方法和示例代码。
105 0
|
4月前
|
存储 Java C++
QT源码拾贝0-5(qimage和qpainter)
这篇文章介绍了在Qt源码中qimage和qpainter的使用,包括线程池的使用、智能指针的存储、std::exchange函数的应用、获取类对象的方法以及QChar字节操作。
QT源码拾贝0-5(qimage和qpainter)
|
5月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
249 4
|
7月前
Qt事件分发器、事件过滤器
Qt事件分发器、事件过滤器
|
6月前
|
开发者
Qt中的事件该如何学习?(附带案例)
事件是Qt中比较重要的一部分,在初期如果理解不当学习可能会比较困难,这里提一嘴当初教我的那位老师水平是真的高,让我很轻易的就理解了事件的概念。 在平时我们见到那些界面上的某些快捷键就有可能是事件做的,例如ESC关闭窗口,Enter提交或者登录这种类似的,这也是事件的强大之处。
141 0
|
8月前
|
开发框架 算法 程序员
【Qt 元对象系统】深入探索Qt事件过滤:从基础到高级应用
【Qt 元对象系统】深入探索Qt事件过滤:从基础到高级应用
219 7