《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键或单击获得焦点


相关文章
|
2月前
|
存储 开发框架 开发者
QT C++焦点事件:多角度解析实用技巧与方法
QT C++焦点事件:多角度解析实用技巧与方法
271 0
|
3月前
|
API
QT基础入门——Qt事件(五)
QT基础入门——Qt事件(五)
56 0
QT基础入门——Qt事件(五)
|
6月前
|
存储 Cloud Native 程序员
C++ Qt 事件(event)
C++ Qt 事件(event)
|
6月前
24 QT - 事件
24 QT - 事件
21 0
|
1月前
|
C++
qt事件过滤器的使用(可以用于控制屏幕背光等)
qt事件过滤器的使用(可以用于控制屏幕背光等)
10 0
|
2月前
|
测试技术 数据库 C++
Qt C++拖放事件探索之旅:多方法深入解析
Qt C++拖放事件探索之旅:多方法深入解析
223 1
|
4月前
Qt6学习笔记十二(事件分发器、事件过滤器)
Qt6学习笔记十二(事件分发器、事件过滤器)
26 0
|
4月前
Qt6学习笔记十一(计时器事件)
Qt6学习笔记十一(计时器事件)
28 0
Qt6学习笔记十一(计时器事件)
|
4月前
|
C++
Qt6学习笔记十(鼠标事件、事件分发器)
Qt6学习笔记十(鼠标事件、事件分发器)
37 0
|
5月前
[Qt5] 鼠标响应事件和计时器事件
[Qt5] 鼠标响应事件和计时器事件
26 0